diff --git a/docs/notes/消息队列.md b/docs/notes/消息队列.md index f68b7b07..d85b3797 100644 --- a/docs/notes/消息队列.md +++ b/docs/notes/消息队列.md @@ -19,20 +19,20 @@ 消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。 -

+

## 发布/订阅 消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。 -

+

发布与订阅模式和观察者模式有以下不同: -- 观察者模式中,观察者和主题都知道对方的存在;而在发布与订阅模式中,发布者与订阅者不知道对方的存在,它们之间通过频道进行通信。 -- 观察者模式是同步的,当事件触发时,主题会调用观察者的方法,然后等待方法返回;而发布与订阅模式是异步的,发布者向频道发送一个消息之后,就不需要关心订阅者何时去订阅这个消息,可以立即返回。 +- 观察者模式中,观察者和主题都知道对方的存在;而在发布与订阅模式中,生产者与消费者不知道对方的存在,它们之间通过频道进行通信。 +- 观察者模式是同步的,当事件触发时,主题会调用观察者的方法,然后等待方法返回;而发布与订阅模式是异步的,生产者向频道发送一个消息之后,就不需要关心消费者何时去订阅这个消息,可以立即返回。 -

+

# 二、使用场景 @@ -62,9 +62,7 @@ 发送端完成操作后一定能将消息成功发送到消息队列中。 -实现方法: - -- 在本地数据库建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息队列中,若转移消息成功则删除消息表中的数据,否则继续重传。 +实现方法:在本地数据库建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息队列中,若转移消息成功则删除消息表中的数据,否则继续重传。 ## 接收端的可靠性 diff --git a/docs/pics/206f965e-53b2-4732-90cf-75910b80d7ac.png b/docs/pics/206f965e-53b2-4732-90cf-75910b80d7ac.png new file mode 100644 index 00000000..069b7e17 Binary files /dev/null and b/docs/pics/206f965e-53b2-4732-90cf-75910b80d7ac.png differ diff --git a/docs/pics/4e93f7d4-2623-4129-a939-59051256561e.png b/docs/pics/4e93f7d4-2623-4129-a939-59051256561e.png new file mode 100644 index 00000000..b48fb693 Binary files /dev/null and b/docs/pics/4e93f7d4-2623-4129-a939-59051256561e.png differ diff --git a/docs/pics/530764d5-f67f-47a2-8df4-57e8646e1400.png b/docs/pics/530764d5-f67f-47a2-8df4-57e8646e1400.png new file mode 100644 index 00000000..656e6501 Binary files /dev/null and b/docs/pics/530764d5-f67f-47a2-8df4-57e8646e1400.png differ diff --git a/notes/pics/206f965e-53b2-4732-90cf-75910b80d7ac.png b/notes/pics/206f965e-53b2-4732-90cf-75910b80d7ac.png new file mode 100644 index 00000000..069b7e17 Binary files /dev/null and b/notes/pics/206f965e-53b2-4732-90cf-75910b80d7ac.png differ diff --git a/notes/pics/4e93f7d4-2623-4129-a939-59051256561e.png b/notes/pics/4e93f7d4-2623-4129-a939-59051256561e.png new file mode 100644 index 00000000..b48fb693 Binary files /dev/null and b/notes/pics/4e93f7d4-2623-4129-a939-59051256561e.png differ diff --git a/notes/pics/530764d5-f67f-47a2-8df4-57e8646e1400.png b/notes/pics/530764d5-f67f-47a2-8df4-57e8646e1400.png new file mode 100644 index 00000000..656e6501 Binary files /dev/null and b/notes/pics/530764d5-f67f-47a2-8df4-57e8646e1400.png differ diff --git a/notes/消息队列.md b/notes/消息队列.md index c9b8f946..84594301 100644 --- a/notes/消息队列.md +++ b/notes/消息队列.md @@ -19,20 +19,20 @@ 消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。 -

+

## 发布/订阅 消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。 -

+

发布与订阅模式和观察者模式有以下不同: -- 观察者模式中,观察者和主题都知道对方的存在;而在发布与订阅模式中,发布者与订阅者不知道对方的存在,它们之间通过频道进行通信。 -- 观察者模式是同步的,当事件触发时,主题会调用观察者的方法,然后等待方法返回;而发布与订阅模式是异步的,发布者向频道发送一个消息之后,就不需要关心订阅者何时去订阅这个消息,可以立即返回。 +- 观察者模式中,观察者和主题都知道对方的存在;而在发布与订阅模式中,生产者与消费者不知道对方的存在,它们之间通过频道进行通信。 +- 观察者模式是同步的,当事件触发时,主题会调用观察者的方法,然后等待方法返回;而发布与订阅模式是异步的,生产者向频道发送一个消息之后,就不需要关心消费者何时去订阅这个消息,可以立即返回。 -

+

# 二、使用场景 @@ -62,9 +62,7 @@ 发送端完成操作后一定能将消息成功发送到消息队列中。 -实现方法: - -- 在本地数据库建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息队列中,若转移消息成功则删除消息表中的数据,否则继续重传。 +实现方法:在本地数据库建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息队列中,若转移消息成功则删除消息表中的数据,否则继续重传。 ## 接收端的可靠性