一、简介

  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 几种模式

  1. 单master(基本不用)
  2. 多master多slave(不常用)
  3. 多master模式(常用,大部分场景可以满足)
  4. 异步复制:向master发送成功就返回给应用表名成功
  5. 同步双写:数据和服务都无单点,可靠性很高,向master和slave都发送成功才告诉应用成功

2.2 步骤

  1. host配置
  2. 上传解压rocketmq压缩包
  3. 创建两台机器的存储路径
    ../store
    ../store/comitlog
    ../store/consumequeue
    ../sotre/index
  4. 修改 broker-a.properties <-- master1
           broker-b.properties <-- master2
    可清掉默认配置
    brokerClusterName都一样
    brokerName=broker-a
    brokerId=0表示master
  5. 修改日志文件
  6. 修改启动参数(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的更多相关文章

  1. RocketMQ——角色与术语详解

    原文地址:http://jaskey.github.io/blog/2016/12/15/rocketmq-concept/ RocketMQ——角色与术语详解 2016-12-15 THU 15:4 ...

  2. 分布式消息队列RocketMQ部署

    一.RocketMQ简介: RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.支持严格的消息顺序: 2.支持Topic与Queue两种模式: 3.亿级消息堆积能力: 4.比较友好 ...

  3. 阿里 RocketMQ 安装与简介

    一.简介 官方简介: l  RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: l  能够保证严格的消息顺序 l  提供丰富的消息拉取模式 l  高效的订阅者水平扩展能力 l  实时的 ...

  4. RocketMQ安装与部署说明

    一.安装说明1.下载安装包,下载地址:https://github.com/alibaba/RocketMQ/releases/download/v3.1.7/alibaba-rocketmq-3.1 ...

  5. RocketMQ入门(3)拉取消息

    转自:http://www.changeself.net/archives/rocketmq入门(3)拉取消息.html RocketMQ入门(3)拉取消息 RocketMQ不止可以直接推送消息,在消 ...

  6. Linux环境快速搭建RocketMQ双Master模式

    RocketMQ的集群部署方式有多种,其中包括单个Master.多个Master.多Master多Slave模式(异步复制)以及多Master多Slave模式(同步双写).本次以多Master集群模式 ...

  7. rocketmq(1)

    参考: 开源社区:https://github.com/alibaba/RocketMQ rocketmq入门: http://www.cnblogs.com/LifeOnCode/p/4805953 ...

  8. RocketMQ环境搭建(双master双slave模式)

    1.环境准备: 准备四台主机(我这里用CentOSx64) 主机 角色 broker 192.168.192.130 Master1 BrokerServerA 192.168.192.131 Mas ...

  9. RocketMQ环境搭建(双master模式)

    介绍: 多Master模式,一个集群无Slave,全是Master,例如2个Master或者3个Master. 优点:配置简单,单个Master宕机或重启维护对应用无影响,在磁盘配置为RAID10时, ...

随机推荐

  1. [leetcode]621. Task Scheduler任务调度

    Given a char array representing tasks CPU need to do. It contains capital letters A to Z where diffe ...

  2. ROS标定IDS相机

    参考 ROS 相机标定http://blog.csdn.net/ArtistA/article/details/51125560 ROS里的标定程序只要使用了OPNCV的标定程序: opencv 相机 ...

  3. Ubuntu 安装配置 nginx

    作者:任明旭链接:https://www.zhihu.com/question/46241604/answer/100788789来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  4. UITableView.separatorInset

    [UITableView.separatorInset] separatorInset指定每行row之间的分隔线的长度,iOS7.0后提供,官方文档如下: 示例截图如下,分隔线没有紧贴着左右边界:

  5. Intel Cyclone SoC FPGA介绍

    3.1 Intel Cyclone SoC FPGA介绍 3.1.1 SoC FPGA的基本概念 Intel Cyclone V SoC FPGA是Intel PSG(原Altera)于2013年发布 ...

  6. 深入jetty的使用详解

    简介: Jetty 是一个用 Java 实现.开源.基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器,可以免费的用于商业行为.Jetty 这个项目成立于 1995 年,现在已经有非常多 ...

  7. Postgresql 日志审计

    配置log_destination = 'csvlog'logging_collector = off log_directory = 'pg_log'log_connections = onlog_ ...

  8. 修改TFS附件大小的限制

    在TFS服务器使用浏览器上打开如下地址:http://localhost:8080/tfs/<CollectionName>/WorkItemTracking/v1.0/Configura ...

  9. Win10+VS2015折腾小记

    20150807 昨天安装了多语言的专业版(当时语言可选,但是我也没选,今天虚机中文企业版时,视图选择语言,但是也只有中文简体,输入法有很多). 专业版安装在硬盘中,感觉不到半小时就完成了. 使用一个 ...

  10. linux下切换用户出现This account is currently not available

    今天在一台新服务器下切换用户的时候出现“This account is currently not available”错误上网检索了一 下发现是用户的shell禁止登录的问题 解决办法:比如我是 s ...