rocketMQ基本架构简介
1、RocketMQ 简介:
RocketMQ前身是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。
2、RocketMQ基本架构:
如图所示RocketMQ架构上主要分为四部分:
Producer:
充当消息发布的角色,支持分布式集群方式部署。producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递。投递的过程支持快速失败并且低延迟。
Consumer:
充当消息消费者的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播形式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求。
NameServer:
NameServer是一个功能齐全的服务器,其角色类似dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:
- Broker管理。NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活。
- 路由信息管理。每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。
NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,Broker仍然可以向其它NameServer同步其路由信息,Produce,Consumer仍然可以动态感知Broker的路由的信息。
配置NameServer:
代码方式:producer.setNamesrvAddr("ip:port"); consumer.setNamesrvAddr("ip:port");多个实例的NameServer以";'分割。
java 配置:rocketmq.namesrv.addr
操作系统环境变量: NAMESRV_ADDR
HTTP Endpoint.
Broker Server:
broker主要负责消息的存储、投递和查询以及服务高可用保证。为了实现这些功能broker包含了以下几个重要子模块。
Remoting Module:整个broker的实体,负责处理来自clients端的请求。
Client Manager:负责管理客户端(Producer/Consumer)和维护Consumer的topic订阅信息
Store Service:提供方便简单的API接口处理消息存储到物理硬盘和查询功能。
HA Service:高可用服务,提供master broker 和 slave broker之间的数据同步功能。
Index Service:根据特定的Message key对投递到broker的消息进行索引服务,以提供消息的快速查询。
以上的内容只是对roketMQ进行一些基本的入门简介,后面会有相关的文章对具体的内容进行更深入的讨论,也欢迎大家提出宝贵的意见和发表自己的见解。
转载于:https://www.cnblogs.com/linlinismine/p/9184073.html
rocketMQ基本架构简介相关推荐
- 消息中间件系列(九):详解RocketMQ的架构设计、关键特性、与应用场景
内容大纲: RocketMQ的简介与演进 RocketMQ的架构设计 RocketMQ的关键特性 RocketMQ的应用场景 RocketMQ的简介 RocketMQ一个纯java.分布式.队列模型的 ...
- RocketMQ的架构设计详解
本文来说下RocketMQ的架构设计 文章目录 RocketMQ的简介 RocketMQ的架构设计 RocketMQ的核心组件 RocketMQ的消息领域模型 RocketMQ的关键特性 消息的顺序 ...
- LoadRunner系统架构简介与运行原理
1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...
- 单线程与多线程网络程序架构简介
文章目录 1 单线程与多线程网络程序架构简介 1.1 服务端单线程处理多客户端 1.2 服务端多进程多端口处理多客户端 1.3 服务端多线程单端口分组处理多客户端 1.4 服务端多线程多端口分组处理多 ...
- MVC架构简介及其测试策略
MVC架构简介及其测试策略 https://www.cnblogs.com/rd-ddddd/p/6959232.html 转载于:https://www.cnblogs.com/highpoint ...
- RocketMQ核心架构和概
RocketMQ的架构及概念 如上图所示,整体可以分成4个角色,分别是:NameServer,Broker,Producer,Consumer. Broker(邮递员) Broker是RocketMQ ...
- 带你一起一步步推理出RocketMQ的架构
消息队列(MQ)主要是为了解决系统之间的通信. 我们平时开发的业务系统基本都会使用数据库,而MQ内部比数据库简单,从而性能也比数据库要高的多,将消息发送到消息队列很快,从而MQ可以在系统之间起到缓冲的 ...
- Mysql逻辑架构简介
Mysql逻辑架构简介 整体架构图 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务 ...
- mme 服务器位置,NB-IOT的网络架构简介
原标题:NB-IOT的网络架构简介 一.NB-iot网络架构 整个NB-IoT网络架构分为五个部分:终端,无线网络,核心网络(EPC),IoT支持平台和应用服务器. 二.NB-iot网络架构简介 1. ...
最新文章
- 网络推广外包专员浅析为什么说企业网站都需要网络推广外包?
- OSG+VS2010+win7环境搭建---OsgEarth编译
- PLSQL 缺少MSVCR120.dll
- Solr搜索引擎——中文分词器
- 软件测试测试工具总结
- 计算机仿真matlab编程,MATLAB与计算机仿真
- Python数据分析师特训营84节
- 树莓派添加RTC时钟模块的方法
- cmd字体推荐-更纱黑体
- java 身份证地址提取籍贯_二代身份证信息提取方案的选择?
- 魔兽8.0最新服务器人口普查,魔兽世界8.2最新人口普查 2019各服务器人口普查信息汇总...
- python绘制相频特性曲线_用Python绘制音乐图谱
- 深入学习Spring IOC和AOP 实例代码
- 左偏树(XJT Love Trees,玲珑杯 Round#8 C lonlife 1081)
- 可爱的灯泡眨眼表情动画特效
- OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
- 锐捷睿易:配置SSH登录
- Devops 开发运维基础篇之Jenkins部署与使用
- 1602液晶显示简易计算器
- c语言:已知斐波那契数列定义:f(0) = 0; f(1) = 1;f(n) = f(n-1) + f(n-2);请计算并输出数列的前n(n<=30)项。
热门文章
- 优秀!303篇论文获2020年度“优秀博士学位论文”!
- mysql群集配置_mysql8 参考手册-NDB群集配置参数,选项和变量概述
- 乾坤大挪移——冒泡法排序,良心之作,拒绝入坑
- 全局路径规划:图搜索算法介绍6(A star)Matlab算法实现
- Matlab如何实现建立ROS节点并进行实时通讯
- oracle安装pdb报错,oracle12安装后pdb创建的用户无法连接
- 佩斯大学计算机科学世界排名,美国佩斯大学留学推荐 计算机科学专业
- rabbitmq topic 收不到数据_RabbitMQ和Kafka到底怎么选?
- 如何用ARKit将太阳系装进iPhone(二)
- fossid安装教程_Win10环境下6sV2.1模型编译