美文网首页
二、RocketMQ架构介绍

二、RocketMQ架构介绍

作者: 恨别A鸟惊心 | 来源:发表于2019-03-30 11:15 被阅读0次
image

概述

Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容量和灵活的可扩展性。它由四部分组成:NameServer,broker,producer和consumer。它们中的每一个都可以水平扩展从而避免单一机体故障导致的消息出校问题。如上面的截图所示。

NameServer Cluster

NameServer 提供轻量级服务发现和路由。每个NameServer 记录完整的路由信息​​,提供相应的读写服务,并支持快速存储扩展。

Broker Cluster

Broker 通过提供轻量级的TOPIC和QUEUE机制来处理消息存储。它们支持Push和Pull模型,包含容错机制(2个副本或3个副本),并提供强大的峰值填充和按原始时间顺序累积数千亿条消息的能力。此外,Brokers还提供灾难恢复,丰富的指标统计和警报机制,所有这些都缺乏传统的消息传递系统。

Producer Cluster

Producer 支持分布式部署。Distributed Producers通过多种负载均衡模式向Broker集群发送消息。发送过程支持快速故障并具有低延迟。

Consumer Cluster

消费者也支持Push和Pull模型中的分布式部署。它还支持群集消费和消息广播。它提供实时消息订阅机制,可以满足大多数消费者的需求。RocketMQ的网站为感兴趣的用户提供了一个简单的快速入门指南。

NameServer

NameServer是一个功能齐全的服务器,主要包括两个功能:

  • Broker Management,NameServer接受来自Broker集群的寄存器,并提供心跳机制来检查Broker是否存活。
  • 路由管理,每个NameServer将保存有关Broker群集的整个路由信息和客户端查询的队列信息。

众所周知,RocketMQ客户端(生产者/消费者)将从NameServer查询队列路由信息,但客户端如何查找NameServer地址?

将NameServer地址列表提供给客户端有四种方法:

  • 程序化方式,如producer.setNamesrvAddr("ip:port")
  • Java选项,使用rocketmq.namesrv.addr
  • 环境变量,使用NAMESRV_ADDR
  • HTTP端点。

有关如何查找NameServer地址的更多详细信息,请参阅此处

Broker Server

代理服务器负责消息存储和传递,消息查询,HA保证等。

如下图所示,Broker服务器有几个重要的子模块:

  • 远程处理模块,即代理的条目,处理来自client的请求。
  • client manager,管理client(生产者/消费者)并维护消费者的主题订阅。
  • Store Service,提供简单的API来存储或查询物理磁盘中的消息。
  • HA服务,提供主代理和从代理之间的数据同步功能。
  • 索引服务,按指定密钥构建消息索引,并提供快速消息查询。
image

相关文章

  • 二、RocketMQ架构介绍

    概述 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容量和灵活...

  • RocketMQ快速上手

    RocketMQ 是阿里开源的一款高性能、高吞吐量的消息中间件。 RocketMQ 架构介绍 RocketMQ架构...

  • RocketMQ分享

    比较粗的分享 RocketMQ分享 介绍 技术架构 RocketMQ架构上主要分为四部分,如上图所示: Produ...

  • RocketMQ源码阅读(三)-NameServer

    概述 如RocketMQ源码阅读(二)中所述, RocketMQ的总体架构如下: RocketMQ将注册中心单独提...

  • RocketMQ学习

    RocketMQ深度解析RocketMQ之一:RocketMQ整体介绍RocketMQ之二:分布式开放消息系统Ro...

  • 消息中间件—RocketMQ消息存储(二)

    文章摘要:上篇中主要介绍了RocketMQ存储部分的整体架构设计,本篇将深入分析RocketMQ存储部分的细节内容...

  • RocketMQ产品架构

    RocketMQ产品架构 RocketMQ产品架构部署要求系统部署架构订阅模式 部署要求 消息队列 RocketM...

  • 详解RocketMQ的架构设计、关键特性、与应用场景

    内容大纲: RocketMQ的简介与演进 RocketMQ的架构设计 RocketMQ的关键特性 RocketMQ...

  • 二、RocketMQ 介绍

    一、简介 消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件...

  • Windows 安装 RocketMQ

    一、RocketMQ 介绍 1、消息顺序2、消息重复消费3、事务消息 二、RocketMQ 安装 Windows:...

网友评论

      本文标题:二、RocketMQ架构介绍

      本文链接:https://www.haomeiwen.com/subject/kldjbqtx.html