Rokeet MQ
Rocket MQ整体介绍
- Rocket MQ是一款分布式、队列模型的消息中间件
- 支持分布式事务
- 支持集群模型、负责均衡、水平扩展能力
- 亿级别的消息堆积能力
- 采用零拷贝的原理、顺序写盘、随机读
- 丰富的API使用
- 顺序消息、异步消息、分布式消息
- 代码优秀,底层通讯框架采用Netty NIO模型
- NameServer 代替Zookeeper
- 强调集群无单点、可扩展,任意一点高可用,水平可扩展
- 消息失败重试机制、消息可查询
- 开源社区活跃、成熟度高
Rocket MQ 概念模型
- Producer: 消息生产者,负责生产消息,一般由业务系统负责产生消息。
- Consumer:消费消费者,负责消费消息,一般是后台系统负责异步消息。
- Push Consumer:Consumer的一种,需要向Consumer对象注册监听
- Pull Consumer:Comsumer的一种,需要主动请求Broker拉取消息
- Producer Group:生产者集合,一般用于发送一类消息
- Consumer Group:消费者Group,一般用于接受一类消息进行消费
- Broker:MQ消息服务(中转角色,用于消息存储与生产消费转发)
Rocket MQ-生产者使用
- 创建生产者对象DefaultMQProducer(必须配置生产者组名称且唯一)
- 设置NameserverAddr
- 启动生产者服务
- 创建消息并发送
Rocket MQ-消费者使用
- 创建消费者对象DefaultMQPushConsumer
- 设置NamesrvAddr及其消费位置ConsumeFromWhere
- 进行订阅主题Subscribe
- 注册监听并消费 registerMessageListener
RocketMQ -四种集群环境构建详细
- 单点模式
- 主从模式(数据不丢失)
- 双主方式
- 双主双从模式、多主多从模式