天天看点

分布式消息队列【笔记】

  • 什么是消息队列
  • 为什么要用分布式消息队列
  • 如何设计消息队列

常见的:ActiveMQ Kafka rocketMQ MetaMQ rabbitMQ zeroMQ

为什么要用分布式消息队列

(1)应用解耦,代理业务和设计的扩展性

(2)异步处理

(3)流量削峰

如何设计消息队列

(1)发布订阅的两种模式:push和pull

(2)消息的可靠性:ACK机制

(3)发布者没收到ACK,发布者将消息放进重发队列

(4)消费者已经处理了,也发送ACK了,但发布者没由收到,会重复发送消息,则需要去重处理:去重表、

(5)消息的存储:a.存在内存;b.存在硬盘     可靠的方式是持久化存储

(6)消息一致性

(7)消息队列的高可用

(8)消息的顺序性

【参考】

1.https://tech.meituan.com/2016/07/01/mq-design.html

2.https://blog.csdn.net/jiangyu1013/article/details/81450764

3.http://www.cnblogs.com/itfly8/p/5155983.html

继续阅读