diff --git a/notes/分布式问题分析.md b/notes/分布式问题分析.md index 81d7f9e0..82ba4179 100644 --- a/notes/分布式问题分析.md +++ b/notes/分布式问题分析.md @@ -57,27 +57,27 @@ 消息中间件也可称作消息系统 (MQ),它本质上是一个暂存转发消息的一个中间件。在分布式应用当中,我们可以把一个业务操作转换成一个消息,比如支付宝的余额转入余额宝操作,支付宝系统执行减少余额操作之后向消息系统发送一个消息,余额宝系统订阅这条消息然后进行增加余额宝操作。 -**(一)消息处理模型** +#### 2.1 消息处理模型 - **点对点**
+**(一)点对点**

- **发布/订阅**
+**(二)发布/订阅**

-**(二)消息的可靠性** +#### 2.2 消息的可靠性 消息的发送端的可靠性:发送端完成操作后一定能将消息成功发送到消息系统。 消息的接收端的可靠性:接收端仅且能够从消息中间件成功消费一次消息。 - **发送端的可靠性**
+**(一)发送端的可靠性** 在本地数据建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息中间件,若转移消息成功则删除消息表中的数据,否则继续重传。 - **接收端的可靠性**
+**(二)接收端的可靠性** 保证接收端处理消息的业务逻辑具有幂等性:只要具有幂等性,那么消费多少次消息,最后处理的结果都是一样的。 diff --git a/notes/正则表达式.md b/notes/正则表达式.md index 65ea91c8..00e9d555 100644 --- a/notes/正则表达式.md +++ b/notes/正则表达式.md @@ -69,7 +69,7 @@ abc[^0-9] ## 匹配空白字符 | 元字符 | 说明 | -| ------------ | ------------ | +| :---: | :---: | | [\b] | 回退(删除)一个字符 | | \f | 换页符 | | \n | 换行符 | @@ -86,21 +86,21 @@ abc[^0-9] ### 1. 数字元字符 | 元字符 | 说明 | -| ------------ | ------------ | +| :---: | :---: | | \d | 数字字符,等价于 [0-9] | | \D | 非数字字符,等价于 [^0-9] | ### 2. 字母数字元字符 | 元字符 | 说明 | -| ------------ | ------------ | +| :---: | :---: | | \w | 大小写字母,下划线和数字,等价于 [a-zA-Z0-9\_] | | \W | 对 \w 取非 | ### 3. 空白字符元字符 | 元字符 | 说明 | -| ------------ | ------------ | +| :---: | :---: | | \s | 任何一个空白字符,等价于 [\f\n\r\t\v] | | \S | 对 \s 取非 | @@ -290,7 +290,7 @@ a.+c ## 大小写转换 | 元字符 | 说明 | -| ---| ---| +| :---: | :---: | | \l | 把下个字符转换为小写 | | \u| 把下个字符转换为大写 | | \L | 把\L 和\E 之间的字符全部转换为小写 |