参考 : 如何从0到1设计一个MQ消息队列
1.Producer(消息生产者):发送消息到Broker。
2.Broker(服务端):Broker这个概念主要来自于Apache的ActiveMQ,特指消息队列的服务端。
主要功能就是:把消息从发送端传送到接收端,这里会涉及到消息的存储、消息通讯机制等。
3.Consumer(消息消费者):从消息队列接收消息,consumer回复消费确认。
1.Broker(消息队列服务端)设计重点
基础功能 |
设计 |
实现 |
---|---|---|
消息的传输 |
通信协议 |
JMS(Java MessageService)实际上是指JMS API AMQP是 Advanced Message Queuing Protocol,即高级消息队列协议 Kafka的通信协议 |
存储消息 |
存储选择 |
|
消费消息 |
消费关系维护 |
单播,就是点到点; 广播,是一点对多点; |
2.消息队列高级特性
-
消息的顺序
-
投递可靠性保证
-
消息持久化
-
支持不同消息模型
-
多实例集群功能
-
事务特性等
3.kafka 原理剖析
参考: kafka原理深入研究 (转 )
producer 发布消息