栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

rocketMQ

rocketMQ

1、rocketMQ作用
削峰填谷、系统解耦、提升性能、蓄流压测

2、集群部署
Name Server:
是一个无状态节点,可集群部署,节点 之前无任何交互通信,各 NameServer 都有完整的路由信息
Broker:
分为Master和Slave,每个Broker与Name Server集群中的所有节点建立长连接,定时(每隔30s)发送心跳包(包含、IP、port、Topic信息)到所有Nane Server。Name Server定时(每隔10s)扫描所有存活broker的链接,如果Name Server超过120s没收到心跳,则断开与Broker的连接
Producer:
Producer与Name Server集群的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳,Producer完全无状态。
Producer每隔30s从Name Server获取所有的Topic的最新情况,如果broker不可用,Producer最多30s就能感知到,在此期间内发往broker的所有消息都会失败。
Producer每隔30s向所有关联的broker发送心跳,Broker每隔10s扫描所有存活的连接,如果broker120s没收到心跳,则关闭与Producer的连接
Consumer:
Consumer与Name Server集群中的一个节点(随机选择)建立长连接,定期从Name server取Topic路由信息,并向提供Topic服务的Master、Slave建立长连接,定时向Master、Slave发送心跳。
Consumer既可以订阅Master消息,也可以订阅Slave消息,订阅规则由broker配置来定。
Consumer每隔30s从Name Server获取所有的Topic的最新情况,如果broker不可用,Consumer最多30s就能感知到。
Consumer每隔30s向所有关联的broker发送心跳,Broker每隔10s扫描所有存活的连接,如果broker120s没收到心跳,则关闭与Consumer的连接,并向Consumer Group的所有Consumer发出通知,Group内的Consumer重新分配队列,然后继续消费。
当Consumer得知master宕机后,转向slave消费,slave不能保证数据全部同步到,因此会有少量的数据丢失,一旦master恢复后,未同步到的消息会被最终消费掉

3、顺序消费
可以通过轮询所有队列的方式确定消息发送到哪一个队列(负载均衡策略)

4、消息重复
消费端处理消息的业务逻辑要保持幂等性;
保证每条数据唯一编号,已经消费成功的消息可以记录起来;

5、事务消息
第一步:消息预发送
第二步:执行本地事务
第三步:消息发送成功后提交事务,失败回滚

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号