48.rocketMQ
一、简介
RocketMQ是阿里旗下的一款产品,分为开源版本和非开源版本。相比于ActiveMQ,RocketMQ支持顺序消费、事务机制、失败重试机制、消息可查询、消息订阅、较强的水平扩展能力、亿级堆积能力以及友好的消息拉取模式。RocketMQ的开源社区比较活跃,经受过双十二的考验。(架构师杨正坤:oceanBase)
在这里,我们用nameServer来替代zookeeper,nameServer不遵循JMS,有一些ActiveMQ中没有涉及到的专业术语需要了解一下:
- push consumer
- pull consumer
- producer group 一类producter的集合
- consumer group 一类consumer名称
- broker:消息中转
- 广播消息
- 发布订阅模式:RocketMQ中只有这一种模式,只是有基于一个还是多个之说
- 集群消息
- message Filter:java代码上传
- message persistence:仅支持kafka和RocketMQ这两种持久化
- RocketMQ是无界的
- 带有消息过滤

二、搭建
2.1 几种模式
- 单master(基本不用)
- 多master多slave(不常用)
- 多master模式(常用,大部分场景可以满足)
- 异步复制:向master发送成功就返回给应用表名成功
- 同步双写:数据和服务都无单点,可靠性很高,向master和slave都发送成功才告诉应用成功
2.2 步骤
- host配置
- 上传解压rocketmq压缩包
- 创建两台机器的存储路径
../store
../store/comitlog
../store/consumequeue
../sotre/index - 修改 broker-a.properties <-- master1
broker-b.properties <-- master2
可清掉默认配置
brokerClusterName都一样
brokerName=broker-a
brokerId=0表示master - 修改日志文件
- 修改启动参数(JVM调优)
runbroker.sh 最小堆是1g
runserver.sh
四、聊一聊disruptor的全局事务和rocket的分布式事务
有人说disruptor能够实现分布式事务,实际上disruptor能够支持的那不叫分布式事务,而是叫全局事务。

p1生产数据给c1和c2,c1和c2都的执行结果给c3,c3看看c1和c2是不是都执行成功了,有一个执行不成功就回滚
真正的分布式事务应该是什么样的呢?

应该是ctrl指挥p生产数据,p生产完就完全不管这部分数据了,立即向ctrl报告。而mq拿到数据后就发送给订阅者,不管这期间发生回滚、重试神马,都在mq和c之间进行,而不会影响到前面的操作。也就是像图中那样,这一套系统被分成完全独立的两块,不相互影响。
五、mq架构

48.rocketMQ的更多相关文章
- RocketMQ——角色与术语详解
原文地址:http://jaskey.github.io/blog/2016/12/15/rocketmq-concept/ RocketMQ——角色与术语详解 2016-12-15 THU 15:4 ...
- 分布式消息队列RocketMQ部署
一.RocketMQ简介: RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.支持严格的消息顺序: 2.支持Topic与Queue两种模式: 3.亿级消息堆积能力: 4.比较友好 ...
- 阿里 RocketMQ 安装与简介
一.简介 官方简介: l RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: l 能够保证严格的消息顺序 l 提供丰富的消息拉取模式 l 高效的订阅者水平扩展能力 l 实时的 ...
- RocketMQ安装与部署说明
一.安装说明1.下载安装包,下载地址:https://github.com/alibaba/RocketMQ/releases/download/v3.1.7/alibaba-rocketmq-3.1 ...
- RocketMQ入门(3)拉取消息
转自:http://www.changeself.net/archives/rocketmq入门(3)拉取消息.html RocketMQ入门(3)拉取消息 RocketMQ不止可以直接推送消息,在消 ...
- Linux环境快速搭建RocketMQ双Master模式
RocketMQ的集群部署方式有多种,其中包括单个Master.多个Master.多Master多Slave模式(异步复制)以及多Master多Slave模式(同步双写).本次以多Master集群模式 ...
- rocketmq(1)
参考: 开源社区:https://github.com/alibaba/RocketMQ rocketmq入门: http://www.cnblogs.com/LifeOnCode/p/4805953 ...
- RocketMQ环境搭建(双master双slave模式)
1.环境准备: 准备四台主机(我这里用CentOSx64) 主机 角色 broker 192.168.192.130 Master1 BrokerServerA 192.168.192.131 Mas ...
- RocketMQ环境搭建(双master模式)
介绍: 多Master模式,一个集群无Slave,全是Master,例如2个Master或者3个Master. 优点:配置简单,单个Master宕机或重启维护对应用无影响,在磁盘配置为RAID10时, ...
随机推荐
- FTP上传下载--python
import socket import struct import json import subprocess import os class MYTCPServer: address_famil ...
- mysql常见错误/usr/local/mysql/bin/mysqld: [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
出现这种情况多数是找不到data目录,还有就是对data目录没有写入权限.
- Luogu 4602 [CTSC2018]混合果汁
BZOJ 5343 福利题. 对于每一个询问可以二分$d$,然后把满足条件的果汁按照$p$从小到大排序贪心地取$L$升看看满不满足价格的条件. 那么按照$p$建立权值主席树,$chk$的时候在主席树上 ...
- BUILDING ANGULAR APPS USING FLUX ARCHITECTURE
Flux is an architectural pattern based on unidirectional data flow. Although it is originated in the ...
- Under-sampling
Under sampling When the signal frequency is high, and the tester frequency can’t catch the signal ...
- UVaLive 3126 Taxi Cab Scheme (最小路径覆盖)
题意:有 n 个客人,要从 si 到 ti,每个人有一个出发时间,现在让你安排最少和出租车去接,在接客人时至少要提前一分钟到达客人的出发地点. 析:把每个客人看成一个结点,然后如果用同一个出租车接的话 ...
- UVa 1153 Keep the Customer Satisfied (贪心+优先队列)
题意:给定 n 个工作,已知每个工作要用的时间 q 和 截止时间 d,问你最多完成多少个工作,每次最多能运行一个工作. 析:这个题是贪心,应该能看出来,关键是贪心策略是什么,这样想,先按截止时间排序, ...
- 微信小程序 tp5上传图片
test.wxml页面 <view class="title">请选择要反馈的问题</view> <view> <picker bindc ...
- PHP(二)变量和常量
- RSA加密解密总结
简单的控制台程序 #include"stdafx.h" #include <math.h> #include<string.h> /*/求解密密钥d的函数( ...