• RocketMQ 入门


    一、rocketMQ是什么

    rocketmq是一款低延迟、高可靠、可伸缩、已使用的消息中间件。具有以下特性:

    1、支持发布/订阅、点对点(p2p)消息模型

    2、同一个队列中支持先进先出(FIFO)和严格的顺序传递

    3、支持拉(pull)和推(push)两种消息模式

    4、单一队列百万消息的堆积能力

    5、支持多种消息协议,比如: JMS 、MQTT

    6、分布式高可用的不是架构,满足至少一次消息传递语义

    7、提供docker 镜像用于隔离测试和云集群部署

    8、提供配置、指标和监控功能丰富的Dashboard

    二、专业术语

    1、producer

      生产者、作用是将消息发送到MQ

    2、producer group 

      生产者组,多个发送同一类消息的生成者简称为一个生产者组

    3、consumer

      消费者、消费MQ上的消息

    4、consumer group 

      消费者组,消费同一类型消息的多个consumer简称一个消费者组

    5、topic

      是一种消息的逻辑分类,比如:订单相关的消息存储在一个topic中、库存相关的消息存储在同一个topic中

    6、message

      是消息的载体,一个message必须指定topic,相当于寄信地址。message还可以设置一个tag 比便于消费者可以基于tag进行过滤消息

    7、tag

      标签,可以被认为是对topic的进一步细化,一般在相同业务模块中通过引入标签来标记不同的用途的消息

    8、broker

       是rocketMQ的系统主要角色。broker接受生成者的消息,存储以及为消费者拉取消息的请求做好准备

    三、rocketMQ 架构

    以上可以看出有4个集群,分别是 nameserver集群、broker集群、producer集群、consumer集群

    1、nameserver集群:提供了轻量级的服务和路由,每个nameserver记录完整的路由信息,提供读写服务并且支持快速扩展。

    2、broker集群:通过提供轻量级的topic和Queue机制来处理消息存储,同时支持推(push)和拉(pull)模式以及主从结构的容错机制

    3、producer:生产者,产生消息的实例,拥有相同的producer Group 和produer 组成一个集群

    4、consumer:消费者,接受消息的实例,拥有相同的consumerGroup 和consumer组成一个集群

    简单说明一下图中箭头含义,从 Broker 开始,Broker Master1 和 Broker Slave1 是主从结构,它们之间会进行数据同步,即 Date Sync。同时每个 Broker 与
    NameServer 集群中的所有节
    点建立长连接,定时注册 Topic 信息到所有 NameServer 中。

    Producer 与 NameServer 集群中的其中一个节点(随机选择)建立长连接,定期从 NameServer 获取 Topic 路由信息,并向提供 Topic 服务的 Broker Master 建立长连接,

    且定时向 Broker 发送心跳。Producer 只能将消息发送到 Broker master,但是 Consumer 则不一样,它同时和提供 Topic 服务的 Master 和 Slave
    建立长连接,既可以从 Broker Master 订阅消息,也可以从 Broker Slave 订阅消息。



  • 相关阅读:
    frp最简配置 实现内网穿透(访问内网WEB服务器)
    frp最简配置 实现内网穿透(访问内网其他服务器SSH)
    Linux 进程树查看工具 pstree
    svn Server authz 配置示例(文件夹权限配置)
    centos7 安装 mysql5.7.25
    centos7中将tomcat注册为系统服务
    keepalived 配置文件解析
    datatables参数配置详解
    使用jquery.datatable.js注意事项
    ondblclick和dblclick区别
  • 原文地址:https://www.cnblogs.com/lxn0216/p/9523467.html
Copyright © 2020-2023  润新知