消息队列

消息队列应用场景:
1.异步处理:将并不需要实时处理的操作写入到消息队列中,由消息队列操作,及时返回给用户。
2.应用解耦:访问其他应用时可能发生错误,将访问其他应用的操作交给消息队列,并返回给用户。
3.解决高并发:消息队列获取限制内的请求,然后写入消息队列,由消息队列再进行后续操作,超过限制的其他请求返回错误。

ActiveMQ
JMS消息模型(JavaMansageService):一种规范。

点对点(P2P):
包含三种角色(消息队列、接收者、发送者)。
特点:每个消息只有一个消费者
发送者和接收者在时间上没有依赖性,当发送者发送了消息之后,不管接收者有没有在运行,都不会影响消息被发送到队列。
接收者在成功接收消息之后需要向队列应答处理成功。
如果希望发送的每个消息都会被成功处理的话,需要P2P模式
发布订阅(Pub/Sub):
包含三种角色(主题、发布者、订阅者),多个发布者将消息发送到Topic,系统将消息传递给多个订阅者。
特点:每个消息有多个消费者
发布者和订阅者有时间上的依赖性。针对某个主题的订阅者,必须创建一个订阅之后,才能消费发布者的消息。
订阅者必须保持运行的状态。
为了缓解时间的依赖性,可创建一个可持久化的订阅。

消息失败重发:没有成功消费消息进行消息的重新发送
JMS消息确认机制:
Session接口中定义的几个常量:自动确认(AUTO_ACKNOWLEDGE-1)、手动确认(CLIENT_ACKNOWLEDGE-2)、自动批量确认(DUP_OK_ACKNOWLEDGE-3)、事务提交确认(SESSION_TRANSACTED-0)

 

 

Window10下RabbitMQ安装  :

记录:https://www.cnblogs.com/saryli/p/9729591.html

文档:https://www.cnblogs.com/sgh1023/p/11256273.html

posted @ 2020-09-08 09:27  若梦浮华  阅读(61)  评论(0编辑  收藏  举报