1、RocketMQ 简介:

RocketMQ前身是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。

2、RocketMQ基本架构:

  如图所示RocketMQ架构上主要分为四部分:

  Producer:

充当消息发布的角色,支持分布式集群方式部署。producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递。投递的过程支持快速失败并且低延迟。

  Consumer:

充当消息消费者的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播形式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求。

  NameServer:

NameServer是一个功能齐全的服务器,其角色类似dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:

  1. Broker管理。NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活。
  2. 路由信息管理。每个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基本架构简介相关推荐

  1. 消息中间件系列(九):详解RocketMQ的架构设计、关键特性、与应用场景

    内容大纲: RocketMQ的简介与演进 RocketMQ的架构设计 RocketMQ的关键特性 RocketMQ的应用场景 RocketMQ的简介 RocketMQ一个纯java.分布式.队列模型的 ...

  2. RocketMQ的架构设计详解

    本文来说下RocketMQ的架构设计 文章目录 RocketMQ的简介 RocketMQ的架构设计 RocketMQ的核心组件 RocketMQ的消息领域模型 RocketMQ的关键特性 消息的顺序 ...

  3. LoadRunner系统架构简介与运行原理

    1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...

  4. 单线程与多线程网络程序架构简介

    文章目录 1 单线程与多线程网络程序架构简介 1.1 服务端单线程处理多客户端 1.2 服务端多进程多端口处理多客户端 1.3 服务端多线程单端口分组处理多客户端 1.4 服务端多线程多端口分组处理多 ...

  5. MVC架构简介及其测试策略

    MVC架构简介及其测试策略  https://www.cnblogs.com/rd-ddddd/p/6959232.html 转载于:https://www.cnblogs.com/highpoint ...

  6. RocketMQ核心架构和概

    RocketMQ的架构及概念 如上图所示,整体可以分成4个角色,分别是:NameServer,Broker,Producer,Consumer. Broker(邮递员) Broker是RocketMQ ...

  7. 带你一起一步步推理出RocketMQ的架构

    消息队列(MQ)主要是为了解决系统之间的通信. 我们平时开发的业务系统基本都会使用数据库,而MQ内部比数据库简单,从而性能也比数据库要高的多,将消息发送到消息队列很快,从而MQ可以在系统之间起到缓冲的 ...

  8. Mysql逻辑架构简介

    Mysql逻辑架构简介 整体架构图 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务 ...

  9. mme 服务器位置,NB-IOT的网络架构简介

    原标题:NB-IOT的网络架构简介 一.NB-iot网络架构 整个NB-IoT网络架构分为五个部分:终端,无线网络,核心网络(EPC),IoT支持平台和应用服务器. 二.NB-iot网络架构简介 1. ...

最新文章

  1. 网络推广外包专员浅析为什么说企业网站都需要网络推广外包?
  2. OSG+VS2010+win7环境搭建---OsgEarth编译
  3. PLSQL 缺少MSVCR120.dll
  4. Solr搜索引擎——中文分词器
  5. 软件测试测试工具总结
  6. 计算机仿真matlab编程,MATLAB与计算机仿真
  7. Python数据分析师特训营84节
  8. 树莓派添加RTC时钟模块的方法
  9. cmd字体推荐-更纱黑体
  10. java 身份证地址提取籍贯_二代身份证信息提取方案的选择?
  11. 魔兽8.0最新服务器人口普查,魔兽世界8.2最新人口普查 2019各服务器人口普查信息汇总...
  12. python绘制相频特性曲线_用Python绘制音乐图谱
  13. 深入学习Spring IOC和AOP 实例代码
  14. 左偏树(XJT Love Trees,玲珑杯 Round#8 C lonlife 1081)
  15. 可爱的灯泡眨眼表情动画特效
  16. OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
  17. 锐捷睿易:配置SSH登录
  18. Devops 开发运维基础篇之Jenkins部署与使用
  19. 1602液晶显示简易计算器
  20. c语言:已知斐波那契数列定义:f(0) = 0; f(1) = 1;f(n) = f(n-1) + f(n-2);请计算并输出数列的前n(n<=30)项。

热门文章

  1. 优秀!303篇论文获2020年度“优秀博士学位论文”!
  2. mysql群集配置_mysql8 参考手册-NDB群集配置参数,选项和变量概述
  3. 乾坤大挪移——冒泡法排序,良心之作,拒绝入坑
  4. 全局路径规划:图搜索算法介绍6(A star)Matlab算法实现
  5. Matlab如何实现建立ROS节点并进行实时通讯
  6. oracle安装pdb报错,oracle12安装后pdb创建的用户无法连接
  7. 佩斯大学计算机科学世界排名,美国佩斯大学留学推荐 计算机科学专业
  8. rabbitmq topic 收不到数据_RabbitMQ和Kafka到底怎么选?
  9. 如何用ARKit将太阳系装进iPhone(二)
  10. fossid安装教程_Win10环境下6sV2.1模型编译