设计一个MQ消息队列
|
Producer(消息生产者):发送消息到Broker。 2.Broker(服务端):Broker这个概念主要来自于Apache的ActiveMQ,特指消息队列的服务端。 主要功能就是:把消息从发送端传送到接收端,这里会涉及到消息的存储、消息通讯机制等。 3.Consumer(消息消费者):从消息队列接收消息,consumer回复消费确认。 Broker(消息队列服务端)设计重点 1)消息的转储:在更合适的时间点投递,或者通过一系列手段辅助消息最终能送达消费机。 2)规范一种范式和通用的模式,以满足解耦、最终一致性、错峰等需求。 3)其实简单理解就是一个消息转发器,把一次RPC做成两次RPC,发送者把消息投递到broker,broker再将消息转发一手到接收端。 总结起来就是两次RPC加一次转储,如果要做消费确认,则是三次RPC。 为了实现上述消息队列的基础功能: 1)消息的传输 2)存储 3)消费 就需要涉及到如下三个方面的设计: 1)通信协议 2)存储选择 3)消费关系维护 通讯协议 消息Message: 既是信息的载体,消息发送者需要知道如何构造消息,消息接收者需要知道如何解析消息,它们需要按照一种统一的格式描述消息,这种统一的格式称之为消息协议。 传统的通信协议标准有XMPP和AMQP协议等,现在更多的消息队列从性能的角度出发使用自己设计实现的通信协议。 1.JMS JMS(Java MessageService)实际上是指JMS API。JMS是由Sun公司早期提出的消息标准,旨在为java应用提供统一的消息操作,包括创建消息、发送消息、接收消息等。
JMS通常包含如下一些角色: (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


