马不停蹄的又开始了Apache RocketMQ 的学习

RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。其主要功能有1.灵活可扩展性、2.海量消息堆积能力、3.支持顺序消息、4.多种消息过滤方式、5.支持事务消息、6.回溯消费等常用功能。

使用视频

RocketMQ系统精讲,经受历年双十一狂欢节考验的分布式消息中间件_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com

安装我用的是windows版本,linux的,视频中有 强调一点,不是偷懒,

而是快速学习其中的内容

下载地址

Release Notes - Apache RocketMQ - Version 4.7.1​rocketmq.apache.org

配置环境变量

启动

启动NAMESERVER
Cmd命令框执行进入至‘MQ文件夹bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。

操作是cmd命令窗口下,进入mq所在文件夹,然后执行下方命令

启动namesrv: start mqnamesrv.cmd
启动broker: start mqbroker.cmd -n 127.0.0.1:9876 -c ../conf/broker.conf autoCreateTopicEnable=true

也可通过bat脚本启动, 方便快速高效, 复制下面文本, 保存为bat, 双击即可

set CATALINA_HOME=你的mq解压目录
start %CATALINA_HOME%/bin/mqnamesrv.cmd
start %CATALINA_HOME%/bin/mqbroker.cmd -n 127.0.0.1:9876 -c %CATALINA_HOME%/conf/broker.conf autoCreateTopicEnable=true

window 的黑窗口别关

RocketMQ插件部署

  • 下载
    地址:https://github.com/apache/rocketmq-externals.git

git clone https://github.com/apache/rocketmq-externals.git
下载完成之后,进入‘rocketmq-externalsrocketmq-consolesrcmainresources’文件夹,打开‘application.properties’进行配置。

server.contextPath=
server.port=8080### SSL setting
#server.ssl.key-store=classpath:rmqcngkeystore.jks
#server.ssl.key-store-password=rocketmq
#server.ssl.keyStoreType=PKCS12
#server.ssl.keyAlias=rmqcngkey#spring.application.index=true
spring.application.name=rocketmq-console
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.config=classpath:logback.xml
#if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=127.0.0.1:9876
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=
#rocketmq-console's data path:dashboard/monitor
rocketmq.config.dataPath=/tmp/rocketmq-console/data
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true
#set the message track trace topic if you don't want use the default one
rocketmq.config.msgTrackTopicName=
rocketmq.config.ticketKey=ticket#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
rocketmq.config.loginRequired=false

  • 编译
    用CMD进入‘rocketmq-externalsrocketmq-console’文件夹,执行maven命令编译生成jar包。
mvn clean package -Dmaven.test.skip=true’,

  • 启动
    编译成功之后,Cmd进入‘target’文件夹,执行命令,启动‘rocketmq-console-ng-1.0.0.jar’。
 java -jar rocketmq-console-ng-1.0.0.jar 

  • 测试
    浏览器中输入‘127.0.0.1:配置端口’,成功后即可查看。
    eg:http://127.0.0.1:8088

集群篇幅省略,快速学习使用为主

解释

首先producer会去NameServer中询问一下可以为其提供服务的Broker的地址,然后再将消息投递到Broker中,(换句话来表达就是,你到邮局去寄信,你先到柜台(NameServer)问一下你要寄信,然后柜台给你分配一下窗口(Broker),然后你去窗口寄信)

然后

Consumer 的原理一样,他会去先从NameServer中获取能够为其提供服务的地址,然后找到分配的Broker并且从中获取信息(换句话说,就是你去邮局取信,你先到柜台(NameServer)问一下你要接收的信件去那个窗口(Broker)去取,然后你再到窗口去取信)

集群搭建省略

解释

实际上NameServer是无状态的,每增加一个NameServer的数量,Broker都会去新增加的节点上,上报自己的信息,所以NameServer直接启动多个就好了,然后Producer的集群搭建喝Consumer的集群搭建也是同理

唯一关注的是Broker的集群搭建

一般不同的Broker服务器会通过BrokerId进行分组区分

主节点的BrokerId=0

从节点的BrokerId=1

一个主节点可以有多个从节点

windows 设置 rocketmq环境变量_RocketMQ 开篇相关推荐

  1. windows设置php环境变量

    1.找到要设置的php版本路径,然后进行复制 2.添加环境变量(控制面板->高级系统设置->环境变量->最上方的李硕的系统变量Path->新增两条php路径即可) 3.打开cm ...

  2. 设置 JDK环境变量(Windows)

    [0]README 0.1) 本文转自 core java volume 1,旨在说明如何设置 JDK环境变量,以及为什么要设置的问题: [1]JDK目录树 Attention)就Java 而言, d ...

  3. php window环境变量配置,windows系统中设置php环境变量的教程

    如果你是在windows系统下安装的php的软件,那么你可以将 php 加入到系统的环境变量中去,这样就可以在不安装 apache 以及 nginx 的等web服务器软件的情况下来运行一些简单的 ph ...

  4. Windows环境下设置php环境变量

    Windows环境下设置php环境变量 为什么要给php设置环境变量?它相当于是给php终端命令追加一个快捷键,系统将会根据环境变量路径自动查找匹配从而命中该命令. 假设php文件位于该路径 D:\p ...

  5. java环境变量设置优化_Mac/windows配置jdk环境变量-seo优化只选拉一八科技

    Mac/windows配置jdk环境变量 Mac配置jdk环境变量 直接双击dmg文件,然后单击[下一步]完成安装.请忽略[配置jdk环境变量]直接跳转到[检查jdk是否安装成功]. Windows配 ...

  6. 为什么要设置java环境变量_为什么要配置JDK环境变量?

    因为电脑不知道javac这个命令是在C:\Program Files\Java\jdk1.8.0_65\bin\的这个路径下面,所以我们要设置好环境变量,来让电脑知道其路径. 1. path(环境变量 ...

  7. 命令行设置Java环境变量

    首先用set命令操作: 看上图:第一次操作,没有成功,打 java 命令以后找不到:是什么问题呢: 打set查看path变量,原来,set Java_Home = ... 后面,不能带分号,否则会把分 ...

  8. python需要配置环境变量吗_教你手动设置python环境变量

    在Windows系统上安装Python非常简单,从头到尾只要跟着步骤走,一路点击"NEXT"按钮即可.最重要也是最麻烦的是安装完毕后需要手动设置下环境变量,到了这一步,很多朋友都不 ...

  9. Windows 中的环境变量 Path 与 XXXX_HOME 的区别

    Windows 中的环境变量 Path 与 XXXX_HOME 的区别 XXXX_HOME Path   开发经常需要配置 Windows 中的环境变量,其中经常需要配置的环境变量有 Path.XXX ...

最新文章

  1. 帝国cms7.5百度小程序针对搜索引擎自然搜索优化版生成静态版
  2. 130.ssm项目中添加日志 log4j
  3. git 版本控制系统初学
  4. 简单聊下5G与V2X
  5. ElasticSearch教程——自定义分词器(转学习使用)
  6. 远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系您的系统管理员或者技术人员来获得帮助...
  7. 如何在Appscale下发布自己的应用(一)
  8. php表格合并_如何在php生成的表中合并单元格?
  9. 移动增值短信平台实施计划方案(报业集团短信手机报)
  10. 干货:react新手入门之react小书
  11. 数列极限:无穷量与待定型
  12. 写给前端的区块链开发入门指南:零基础开发基于以太坊智能合约的 ICO DApp
  13. 微信开发者工具上传照片后下载图片一直报40007:invalid media_id hint: [UUtO4a0341d142] rid: 5fd84e4d-5a3
  14. 第三方支付风险控制研究 ——以支付宝为例
  15. 华为公有云,一个关于天分与勤奋的故事
  16. 林群、张景中院士近年来致力于微积分局部公理化,此路不通
  17. 如何在windows开启UAC(用户账号控制)的情况下优雅的管理程序的权限申请方案(一)
  18. UNI-APP安卓本地打包详细教程(保姆级)
  19. 电商服务器性能测试,如何测试分析电商网站的性能瓶颈(一)
  20. 两步解决XMind打不开的问题

热门文章

  1. python--gevent协程及协程概念
  2. Linux内核——定时器和时间管理
  3. vbox里面的Ubuntu虚拟机与主机win7之间设置共享文件夹
  4. Linux下Django环境安装
  5. GCD(Grand Central Dispatch)和Block 使用-浅析
  6. js table的所有td 按行合并
  7. 网络工程师职业发展路线规划三步走
  8. 华为鸿蒙系统备用,就只有华为有备用系统?其实谷歌也准备了一个,不输鸿蒙系统!...
  9. 蓝牙耳机声音一顿一顿的_尴尬!vivo无线耳机上线两个月价格大跳水,却仍被批不值...
  10. 笔记本通过网口控制单片机_国产又推出笔记本:旋转屏,自带RS-232串口和网口,工程师专用...