标签:架构 Name Broker Server Topic Master Mq NameServer
Broker Mq的架构描述:
Name Server:
Name Server可以做为一个集群部署,集群中的各 Name Server 是独立的,节点间无任何同步信息;
Name Server 用于管理 Broker 实时配置信息和 Topic queue 的路由配置;
Broker与Name Server集群中的所有服务器保持长连接, 并且Broker 每隔30秒向 Name Server 集群上传心跳信息,包括 Topic 信息和Broker实时信息;Name Server 主动间隔10秒扫描所有的 Broker 心跳上报时间间隔是否超过2分钟,如果超过则主动断开超时的Broker的长连接,并更新Topic信息,但是不会通知生产者和消费者。
Broker:
Broker 分为 Master 和Slave,Broker Master组成集群,而Broker Slave与某台 Broker Master 组成主从结构,对Broker Master的数据备份,这样一个Broker Master和Broker Slave 组成一个Broker 组。
通过使用 brokerName 来区别是否属于一个Broker 组,brokerId 来指定Broker组中的主从(0为主,大于0为从)。
高可用性:
Producer端:Topic的Queue会平均分布在集群中的多个Broker Master上,如果一台Broker Master挂了后,Topic Queue的消息可以发送到其他的Broker Master 的Topic Queue中。
Consumer端:如果某一台Broker Master宕机,消费者可以从这台Broker Master对应的Broker Slave上进行消息消费。
Broker 宕机后,Producer和Consumer需要30s间隔时间才能感知到,因为间隔30s从NameServer获取Topic最新的队列信息。
Producer(生产者):
单个Producer与集群中的一台NameServer保持长连接,如果该NameServer挂掉,则会自动连接到下一台NameServer,直到有可用的连接为止,并且这个Producer会与相关联的Broker保持长连接。
Producer会间隔30s从NameServer拉取所有的Topic最新的Queue信息。
Consumer(消费者):
单个Consumer与一台NameServer保持长连接,当NameServer挂掉后,则会自动连接到下一台NameServer,并且Consumer会与相关联的Broker保持长连接。
Consumer会间隔30s从NameServer拉取最新的Topic Queue信息。
标签:架构,Name,Broker,Server,Topic,Master,Mq,NameServer 来源: https://www.cnblogs.com/diandiandidi/p/15343204.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。