参考链接:
概念
MQ 的优势:异步、解耦、削峰
MQ 带来的问题:重复消费,顺序消费,分布式事务,消息堆积
MQ分为:队列模型和主题模型
队列模型
主题模型(也叫 发布订阅模型)
RockerMQ 中的消息模型就是按照主题模型所实现的,通过使用在一个 Topic 中配置多个队列并且每个队列维护每个消费者组的消费位置实现了发布订阅模式
RocketMQ 技术架构中有四大角色 NameServer、Broker、Producer、Consumer
Broker:主要负责消息的存储、投递和查询以及服务高可用保证;生产者生产消息到 Broker,消费者从 Broker 拉取消息并消费;rocketMQ的broker不支持自动主从切换,即主节点挂了以后,从节点只能读,不会自动升级为主节点
NameServer:其实是一个注册中心(去中心化,没有主从),主要提供两个功能:Broker 管理和路由信息管理。说白了就是 Broker 会将自己的信息注册到 NameServer 中,此时 NameServer 就存放了很多 Broker 的信息(Broker的路由表),消费者和生产者就从 NameServer 中获取路由表,然后照着路由表的信息和对应的 Broker 进行通信(生产者和消费者定期会向 NameServer 去查询相关的 Broker 的信息)