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 订阅消息。
RocketMQ 入门的更多相关文章
- RocketMQ入门(3)拉取消息
转自:http://www.changeself.net/archives/rocketmq入门(3)拉取消息.html RocketMQ入门(3)拉取消息 RocketMQ不止可以直接推送消息,在消 ...
- RocketMQ入门(2)最佳实践
转自:http://www.changeself.net/archives/rocketmq入门(2)最佳实践.html RocketMQ入门(2)最佳实践 一.服务端安装部署 我是在虚拟机中的Cen ...
- RocketMQ入门(1)
转自:http://www.changeself.net/archives/rocketmq入门(1).html RocketMQ入门(1) RocketMQ是一款分布式.队列模型的消息中间件,具有以 ...
- RocketMQ入门(消费者)_3
消费者角色: 1. 推式(一般建议用推式) 2. 拉式 消费模式: 1. 集群(cluster) --均衡负载消费 2. 广播(broadcasting) --发布和订阅 ...
- 必须先理解的RocketMQ入门手册,才能再次深入解读
RocketMQ入门手册 RocketMQ是一个分布式.队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具 ...
- RocketMQ入门到入土(二)事务消息&顺序消息
接上一篇:RocketMQ入门到入土(一)新手也能看懂的原理和实战! 一.事务消息的由来 1.案例 引用官方的购物案例: 小明购买一个100元的东西,账户扣款100元的同时需要保证在下游的积分系统给小 ...
- (一)RocketMq入门之安装运行
一.几个重要的地址 Git地址:https://github.com/apache/incubator-rocketmq 编译好的文件:https://rocketmq.incubator.apach ...
- 消息队列之-RocketMQ入门
简介 RocketMQ是阿里开源的消息中间件,目前已经捐献个Apache基金会,它是由Java语言开发的,具备高吞吐量.高可用性.适合大规模分布式系统应用等特点,经历过双11的洗礼,实力不容小觑. 官 ...
- RocketMQ入门
本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能.高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题.然后 ...
- Alibaba(阿里) RocketMQ入门实例
摘自:码友18年(www.mayou18.com) what is rocketMQ? RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以不能完全用JMS的那一套东西来看它 ...
随机推荐
- sqlilabs less18-22 HTTP头的注入
less18 user-agent的注入 源码分析: check_input对name,password进行了过滤 function check_input($value) { if(!empty($ ...
- php 常量的使用
我们来看下直接的例子 <?php //定义常量 //常量不可被删除 //常量一旦被定义,就无法重新置换 //常量一旦定义,就不能对他第二次定义,否则会报错! define('MYCONSTANT ...
- RedHat 的 crontab
Chapter 39. Automated Tasks In Linux, tasks can be configured to run automatically within a specifie ...
- Inno Setup 添加版权信息
[Setup]AppCopyright=Copyright (C) - My Company, Inc. 有以上一句,即可在右键 --> Property --> Details 里看见版 ...
- (转)对 Linux 专家非常有用的 20 个命令
谢谢你你给了我们在这篇文章前两个部分的喜欢,美言和支持.在第一部分文章中我们讨论了那些都只是切换到 Linux 和linux新手所需的必要知识的用户的命令. 对 Linux 新手非常有用的 20 个命 ...
- 构建密钥验证ssh
1.需要两个虚拟机,每一个创建一个用户登录到用户根下 2.每个用户都要创建密钥对 3.把两个用户的公用密钥用ssh-copy-id -i 命令将公用的密钥复制到另一个用户中 4.在客户端开 ...
- CentOS+Subversion 配置Linux 下 SVN服务器
1.安装#yum install subversion测试安装是否成功:#svnserve –version 回车显示版本说明安装成功 2.配置 ·建立版本库 #mkdir /opt/svnd ...
- python 中open文件路径的选择
一.问题描述 python 中使用open打开某个文件写入时,往往会发现需要写入的文件不在同级目录下.这样就需要根据文件的路径来找到并打开. 但往往有时绝对路径和相对路径,写入不正确就会打开失败. 二 ...
- Java通过反射技术动态创建对象(有参、无参构造)
实现类: package com.ljy; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTarge ...
- D - 小Z的加油店 线段树+差分+GCD
D - 小Z的加油店 HYSBZ - 5028 这个题目是一个线段树+差分+GCD 推荐一个差分的博客:https://www.cnblogs.com/cjoierljl/p/8728110.ht ...