本文主要介绍火箭MQ架构,主要分为几个部分。很详细,有一定的参考价值。感兴趣的朋友一定要看完!
技术架构
RocketMQ架构主要分为四个部分,如上图:所示。
生产者:消息发布的角色,支持分布式集群部署。生产者通过MQ的负载均衡模块选择对应的Broker集群队列进行消息传递,传递过程支持快速失败和低延迟。
消费者:消息消费的角色,支持分布式集群部署。支持推送和拉取模式来消费消息。同时还支持集群模式和广播模式的消费。它提供了实时消息订阅机制,可以满足大多数用户的需求。
服务器:名称服务器是一个非常简单的Topic路由注册中心,它的作用类似于Dubbo中的zookeeper,支持Broker的动态注册和发现。包括两个主要功能:代理管理,名称服务器接受代理集群的注册信息,并将其保存为路由信息的基础数据。然后提供心跳检测机制,检查Broker是否还活着;路由信息管理,每个名称服务器将保存关于代理集群的整个路由信息和队列信息,供客户端查询。然后生产者和消费者可以通过名称服务器知道整个代理集群的路由信息,从而传递和消费消息。名称服务器通常以集群模式部署,每个实例之间不进行通信。代理向每个名称服务器注册它自己的路由信息,因此名称服务器的每个实例都保存一份完整的路由信息副本。当名称服务器由于某种原因离线时,代理仍然可以将其路由信息与其他名称服务器同步,生产者、消费者仍然可以动态感知代理的路由信息。
BrokerServer:Broker主要负责消息的存储、传递和查询,保证服务的高可用性。
其中,为了实现这些功能,Broker包括以下几个重要的子模块。
远程处理模块:整个代理的实体,负责处理来自客户端的请求。
客户端管理器负责管理客户端(生产者/消费者)和维护消费者的主题订阅信息。
存储服务:提供方便简单的API接口,用于处理物理硬盘中存储的消息和查询功能。
Ha:在主代理和从代理之间提供数据同步的高可用性服务。
索引服务:根据特定的消息关键字对传递给代理的消息进行索引,从而提供对消息的快速查询。
以上就是文章《RocketMQ架构主要分为几个部分》的全部内容,感谢阅读!希望分享的内容对大家有所帮助。更多相关知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151267.html