论文部分内容阅读
提高分布式系统的模块化程度可以改善各服务之间的通信性能,并提高可扩展性,这使得高性能、高可靠性的消息中间件更加重要。作为新兴的消息中间件,RocketMQ因其功能强大、负载均衡能力突出,支持分布式事务而被广泛使用。本文在分析了RocketMQ和消息队列服务技术现状的基础上,研究了消息中间件的负载均衡技术,结合某贷款系统中企业级服务之间的负载均衡需求,设计并实现了面向RocketMQ的负载均衡系统。本文的主要工作如下:(1)RocketMQ分布式服务集群以及消息特性分析。RocketMQ Broker集群搭建以及nameServer集群配置以及搭建,消息特性分析,包括顺序性消息,重复性消息,以及分布式事务消息。(2)负载均衡实现。分析RocketMQ负载均衡的实现,对RocketMQ负载均衡策略进行逐一分析,包括平均分配策略、轮询策略、机房配置策略、手动配置策略、一致性hash策略。(3)RocketMQ负载均衡系统局部消息堆积负载降级设计与实现。基于RocketMQ负载均衡,整合redis集群技术,以及分布式定时任务调度器quartz来实现RocketMQ负载均衡系统的负载降级,提升RocketMQ负载均衡系统的吞吐率。(4)RocketMQ负载均衡系统并发消息分布式访问控制设计与实现。这里主要采用的是RocketMQ负载均衡系统整合基于Zookeeper的分布式组件curator的方式来控制业务消息的并发处理逻辑。在本文的最后,对基于RocketMQ负载均衡系统进行了功能测试和性能测试。测试结果表明,该平台提高了RocketMQ负载均衡的业务消息吞吐率,到达了预期的效果。