分布式消息队列中间件系列研究之阿堂教程(高级篇)

简介:
利 用周末休息时间,阿堂这里推出了最后一篇《分布式消息队列中间件系列研究之阿堂教程(高级篇)》,这里阿堂是分享的关于zookeeper集群+metaq(broker的集群)搭建篇。这样,分布式消息队列的使用才算划上了一个较为圆满的句号。
因为资源有限的关系,阿堂是在本机win7环境,使用同一个ip,不同的port正常运行起来 zookeeper集群+metaq broker的集群了,效果见下图。实际场景中是使用的不同的ip来搭建的。
分布式消息队列中间件系列研究之阿堂教程(高级篇)

然后阿堂运行上篇文章中提到的producer发布者的测试代码,效果如下。这时候,发布者会取到zookeeper集群中的某一台zookeeper服务器,连接正常了。
分布式消息队列中间件系列研究之阿堂教程(高级篇)

这时候,阿堂为了检测zookeeper集群是否起作用了,阿堂故意再用生产者发布一次消息,这时候,发现生产者是连接了另一个zookeeper服务器了。这充分说明,生产者每次连接的都可能是zookeeper集群中的某一台服务器,zookeeper集群已经完全起到作用了。测试效果如下。
分布式消息队列中间件系列研究之阿堂教程(高级篇)


接着,阿堂继续运用 消费者开始订阅消息,发现订阅消息一切正常,订阅的时候已经连接上了两台meta的broker集群了。这说明 meta的broker集群也是起到了作用。
分布式消息队列中间件系列研究之阿堂教程(高级篇)

分布式消息队列中间件系列研究之阿堂教程(高级篇)


至此时为止,已经充分说明阿堂的zookeeper集群+meta的broker集群已经是正常运行了。

------------------------------------------------------------
阿堂总结
1. zookeeper的集群比较简单,网上有很多的介绍,这里阿堂就不再罗嗦了。
2. meta的broker集群,主要是server.ini文件的介绍
broker0的server.ini文件配置

[system]
brokerId=0
numPartitions=5
serverPort=8123
unflushThreshold=0
unflushInterval=10000
maxSegmentSize=1073741824
maxTransferSize=1048576
deletePolicy=delete,168
deleteWhen=0 0 6,18 * * ?
flushTxLogAtCommit=1
stat=true

;; Update consumers offsets to current max offsets when consumers offsets are out of range of current broker's messages.
;; It must be false in production.But recommend to be true in development or test.
updateConsumerOffsets=true

[zookeeper]
zk.zkConnect=192.168.1.104:2181,192.168.1.104:2182,192.168.1.104:2183
zk.zkSessionTimeoutMs=30000
zk.zkConnectionTimeoutMs=30000
zk.zkSyncTimeMs=5000

;; Topics section
[topic=test]

[topic=meta-test]

[topic=email]

broker1的server.ini文件配置

[system]
brokerId=1
numPartitions=5
serverPort=9124
unflushThreshold=0
unflushInterval=10000
maxSegmentSize=1073741824
maxTransferSize=1048576
deletePolicy=delete,168
deleteWhen=0 0 6,18 * * ?
flushTxLogAtCommit=1
stat=true

;; Update consumers offsets to current max offsets when consumers offsets are out of range of current broker's messages.
;; It must be false in production.But recommend to be true in development or test.
updateConsumerOffsets=true

[zookeeper]
zk.zkConnect=192.168.1.104:2181,192.168.1.104:2182,192.168.1.104:2183
zk.zkSessionTimeoutMs=30000
zk.zkConnectionTimeoutMs=30000
zk.zkSyncTimeMs=5000

;; Topics section
[topic=test]

[topic=meta-test]

[topic=email]

3. 项目代码中 metaq.ini 文件的配置

zookeeper=192.168.1.104:2181,192.168.1.104:2182,192.168.1.104:2183

messagedir=D:\\metaq\\mmp\\logs



本文转自 www19 51CTO博客,原文链接:http://blog.51cto.com/doujh/1715276,如需转载请自行联系原作者

相关文章
|
传感器 算法 安全
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
411 4
|
运维 监控 安全
【风险评估】分布式电源并网对电网的影响及风险评估的研究(Matlab代码实现)
【风险评估】分布式电源并网对电网的影响及风险评估的研究(Matlab代码实现)
312 0
|
消息中间件 存储 Kafka
分布式消息中间件设计与实现
本文深入探讨了消息中间件的核心功能实现与高并发、高可用设计。在生产者设计中,涵盖消息构造、序列化、路由策略及可靠性保障(如ACK机制)。消费者部分分析了拉取/推送模式、分区分配与消息确认机制。同时,Broker作为核心组件,负责消息路由、存储和投递,并通过索引技术实现快速检索。 高并发设计方面,重点讨论了文件存储(顺序写入、分段存储)、日志结构存储及负载均衡策略(如哈希分区、轮询分区)。为确保高可用性,文章详细解析了主从复制、故障转移机制以及同城/异地多活容灾方案。
629 13
|
负载均衡 算法 调度
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)
440 11
|
算法 调度
【孤岛划分】分布式能源接入弹性配电网模型研究【IEEE33节点】(Matlab代码实现)
【孤岛划分】分布式能源接入弹性配电网模型研究【IEEE33节点】(Matlab代码实现)
1029 10
|
机器学习/深度学习 算法 安全
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
364 3
|
消息中间件 监控 中间件
常用的消息队列中间件都有什么?优缺点是什么?如何选择?
常用的消息队列中间件都有什么?优缺点是什么?如何选择?
916 5
|
算法 新能源 Python
含分布式电源的配电网可靠性评估研究(Matlab代码实现)
含分布式电源的配电网可靠性评估研究(Matlab代码实现)
218 2
|
传感器 机器学习/深度学习 算法
【无人机编队】基于麻雀算法分布式无人机群自适应航迹规划和碰撞检测研究(Matlab代码实现)
【无人机编队】基于麻雀算法分布式无人机群自适应航迹规划和碰撞检测研究(Matlab代码实现)
285 2
|
并行计算 算法 调度
基于串行并行ADMM算法的主从配电网分布式优化控制研究(Matlab代码实现)
基于串行并行ADMM算法的主从配电网分布式优化控制研究(Matlab代码实现)
728 0