rocketmq

RocketMQ入门

自古美人都是妖i 提交于 2020-01-07 17:16:13
在Windows上安装启动RocketMQ。 1、首先,到官网下载二进制发行包,解压到安装目录,注意安装目录不能含有空格,否则可能会导致无法加载主类。解压后得到如下目录结构: +- benchmark +- bin +- conf +- lib +- LICENSE +- NOTICE +- README.md 2、设置ROCKETMQ_HOME环境变量。 3、然后启动名称服务。 bin\mqnamesrv 默认情况下,名称服务启动端口为9876。 4、启动Broker bin\mqbroker -n localhost:9876 5、发送和接收消息 首先,设置环境变量NAMESRV_ADDR为localhost:9876,目的是为了告诉客户端名称服务的位置。 然后发送 bin\tools.cmd org.apache.rocketmq.example.quickstart.Producer 接收消息 bin\tools.cmd org.apache.rocketmq.example.quickstart.Consumer 7、关闭服务 bin\mqshutdown broker bin\mqshutdown namesrv 8、总结 首先感觉对windows系统不是很友好,因为服务无法安装在Program Files目录中,安装目录中有空格就无法启动了

RocketMQ系列之初始入门

给你一囗甜甜゛ 提交于 2020-01-07 14:58:08
RocketMQ是阿里巴巴技术团队在2016年11月捐赠给Apache基金会,正式成为孵化项目。阿里称会将其打造成顶级的项目,在如今优秀的MQ中间件中,RocketMQ也是占有一席之位的,它具有高性能、高可靠、实时性、分布式的特点,天生为金融互联网领域而生,目前在众多技术团队中都有在使用。 让我们一起进入学习RocketMQ吧!还不知道什么是MQ的同学速度进入 什么是消息队列? RocketMQ的核心概念 producer 生产者,也就是消息的投递者,RcoketMQ提供三种投递消息的方式:同步、异步、单向。 producer group 生产者组,具有相同角色的生产者分组。 consumer 消费者,也就是消息的消费者,从消息队列中拉取消息有两种方式:pull方式,主动从消息队列中批量拉取消息进行消费;push方式,内部封装了拉取消息、消费进度等行为,利用监听器当消息到达时将启动程序消费消息。 consumer group 消费者组,具有相同角色的消费者分组。 broker RocketMQ-server,也就是RocketMQ的实例,消息队列的载体。 nameserver nameserver是RocketMQ的一个词汇,nameserver记录broker的列表以及一些元信息,为生产者和消息者查询使用和路由。 讲了那么多,记不住?直接上图理解 消息领域模型 message

第十八章:springboot 整合阿里云 rocketMQ

本秂侑毒 提交于 2020-01-07 06:40:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、rocketMQ简介 消息队列 RocketMQ 是阿里巴巴集团自主研发的专业消息中间件。 产品基于高可用分布式集群技术,提供消息订阅和发布、消息轨迹查询、定时(延时)消息、资源统计、监控报警等一系列消息云服务,是企业级互联网架构的核心产品。 消息队列 RocketMQ 历史超过9年,为分布式应用系统提供异步解耦、削峰填谷的能力,同时具备海量消息堆积、高吞吐、可靠重试等互联网应用所需的特性,是阿里巴巴双11使用的核心产品。 二、rocketMQ的使用 打开阿里云产品,找到 rocketMQ 这里需要我们根据需要开通包年还是包月服务,开通成功后进入控制台 根据提示创建实例、创建Topics、创建Group 创建好了之后,打开 Topic 管理,手动发送一条消息 可以看到发送成功后会返回信息的 messageID 三、整合 springboot 首先引入 pom <!--消息队列 RocketMQ--> <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>ons-client</artifactId> <version>1.7.9.Final</version> </dependency> 定义 rocketMQ 配置

崛起于Springboot2.X + 集成RocketMQ(72)

纵然是瞬间 提交于 2020-01-07 01:12:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 《SpringBoot2.X心法总纲》 项目地址: https://gitee.com/mdxl/blog.git 提前了解: Springboot事件监听配置 ,本博客以Springboot2.1.5版本集成配置。 1、安装RocketMQ 官网介绍,自己点击按照步骤走: http://rocketmq.apache.org/docs/quick-start/ 不过在启动broker的时候,可以更改成如下命令,意思为RocketMQ支持自动创建topic,默认不支持。 nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true & 2、pom依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.4.0</version> <

rocketMQ之三 集群概念和工作流程

岁酱吖の 提交于 2020-01-06 21:51:30
集群概念和工作流程 各个角色的介绍 producer:消息的发送者 consumer:消息的接受者 Broker:暂存和传输消息 NameServer:管理Broker Topic:区分消息的种类,一个发送者可以发送消息给一个或者多个Topic,一个消息的接受者可以订阅一个或者多个Topic消息 tag:消息的标签,和topic基本是这样的关系 Message Queue:相当于Topic的分区,用于并行发送和接受消息 集群的特点 NameServer是一个几乎无状态节点,可集群部署,节点之间无任何信息同步 Broker部署相对复杂,Broker分为Master和Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master, Master和Slave的对应关系通过制定相同的BrokerName,不同的BrokerId来定义,BorkerId为0表示Master,非0便是Slave, Mater也可以部署多个,每个Broker和NameServer集群中所有节点建立长连接,定时注册Topic信息到所有NameServer Producer和NameServer集群中的其中一份节点建立长连接(随机),定期从NameServer取Topic路由信息,并向Topic服务的Master 建立长连接,且定时想Master发送心跳,Product完全无状态

Rocketmq源码下载与调试

我们两清 提交于 2020-01-06 16:15:00
Rocketmq源码编译运行 下载 从 github 下载源码,比较慢,也可以从 gitee 下载 源码目录结构 名称 作用 broker broker模块:c和p端消息存储逻辑 client 客户端api:produce、consumer端 接受与发送api common 公共组件:常量、基类、数据结构 tools 运维tools:命令行工具模块 store 存储模块:消息、索引、commitlog存储 namesrv 服务管理模块:服务注册topic等信息存储 remoting 远程通讯模块:netty+fastjson logappender 日志适配模块 example Demo列子 filtersrv 消息过滤器模块 srvutil 辅助模块 filter 过滤模块:消息过滤模块 distribution 部署、运维相关zip包中的代码 openmessaging 兼容openmessaging分布式消息模块 编译 解压导入idea ,修改配置文件pom.xml,jdk编译版本为1.8 # 编译 mvn -Prelease-all -DskipTests clean install -U 启动namesrv 进入org.apache.rocketmq.namesrv.NamesrvStartup,执行main方法 会抛出错误, 原因是没有设置配置ROCKETMQ

RocketMQ多Master多Slave模式部署

南笙酒味 提交于 2020-01-06 07:17:45
每个 Master 配置一个 Slave,有多对Master-Slave,HA采用同步双写方式,主备都写成功,向应用返回成功。 优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高。 缺点:性能比异步复制模式略低,大约低10%左右,发送单个消息的RT会略高。目前主宕机后,备机不能自动切换为主机,后续会支持自动切换功能。 ### 先启动 NameServer ### 在机器 A,启动第一个 Master ### 在机器 B,启动第二个 Master ### 在机器 C,启动第一个 Slave ### 在机器 D,启动第二个 Slave 以上 Broker 与 Slave 配对是通过指定相同的brokerName 参数来配对,Master的 BrokerId 必须是 0,Slave 的BrokerId 必须是大与 0 的数。 另外一个 Master 下面可以挂载多个 Slave,同一 Master 下的多个 Slave通过指定不同的 BrokerId来区分。 1. 服务器环境如下图所示 ,四台机器,IP位7为主节点,149是7的从节点。105是主节点,160是105的从节点 序号 IP 用户名 角色 模式 1 192.168.1.7 root nameServer1,brokerServer1 Master1 2 192.168.1.105

双RocketMq集群的搭建

[亡魂溺海] 提交于 2020-01-06 07:17:28
一、双Master RocketMq集群的搭建   1、服务器环境: 序号 IP 用户名 角色 模式 1 192.168.211.128 root nameServer1,brokerServer1 Master1 2 192.168.211.129 root nameServer2,brokerServer2 Master1   2、添加hosts信息   vim /etc/hosts IP NAME 192.168.211.128 rocketmq-nameserver1 192.168.211.128 rocketmq-master1 192.168.211.129 rocketmq-nameserver2 192.168.211.129 rocketmq-master2   3、上传解压rocketMq到服务器   上传alibaba-rocketmq-3.2.6.tar.gz文件至/usr/local/install   解压tar -zxvf alibaba-rocketmq-3.2.6.tar.gz -C /usr/local/software   4、创建软连接(两台机器)   ln -s alibaba-rocketmq rocketmq      5、创建存储路径(两台机器)   # mkdir /usr/local/software/rocketmq

RocketMQ在windows环境下的安装

梦想与她 提交于 2020-01-02 03:14:30
原博地址: https://www.jianshu.com/p/4a275e779afa 一.预备环境 1.系统 Windows 2. 环境 JDK1.8、Maven、Git 二. RocketMQ部署 1.下载 1.1地址: http://rocketmq.apache.org/release_notes/release-notes-4.2.0/ 1.2选择‘Binary’进行下载 1.3解压已下载工程 2. 配置 2.1 系统环境变量配置 变量名:ROCKETMQ_HOME 变量值:MQ解压路径\MQ文件夹名 2.2重启服务器 3. 启动 3.1 启动NAMESERVER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。 3.2 启动BROKER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’,启动BROKER。成功后会弹出提示框,此框勿关闭。 假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。 三.

windows下RocketMQ安装部署

╄→尐↘猪︶ㄣ 提交于 2020-01-02 03:14:01
一. 预备环境 1. 系统 Windows 2. 环境 JDK1.8、Maven、Git 二. RocketMQ部署 1. 下载 1.1地址: http://rocketmq.apache.org/release_notes/release-notes-4.2.0/ 1.2选择‘Binary’进行下载 1.3解压已下载工程 2. 配置 2.1 系统环境变量配置 变量名:ROCKETMQ_HOME 变量值:MQ解压路径\MQ文件夹名 2.2重启服务器 3. 启动 3.1 启动NAMESERVER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。 3.2 启动BROKER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’,启动BROKER。成功后会弹出提示框,此框勿关闭。 假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。 三. RocketMQ插件部署 1. 下载 地址:https://github.com