初识RocketMQ

1.相关概念

消息队列:(MQ:message queue) 一种用来保存消息数据的队列

1.1角色:

 生产者(producer)生产并发消息的一方

 消费者(consumer):接受使用消息的一方

代理服务器(broker):临时保存生产者发送消息的服务器

1.2 作用

 1.解耦(多业务系统,系统之间关联性没那么大)

 2.异步(多业务系统,相互隔离)

 3.削峰(qms)

重点:异步。所有的实现都是基于异步这样一个大的前提 

1.3 缺点

 1.系统复杂度提升

2.系统可用性降低

3.异步消息机制

         1.消息顺序性

         2.消息丢失

         3、消息重复消费

         4.消息一致性

1.4 MQ产品

1.5 RocketMQ 角色概念

   1.消息生产者:producer

   2.消息服务器:broker

   3.消息消费者: conumer

   4.监听器监听broker,消费者监听brker,有消息就消费

   5.偏移量 offset :消费者需要从代理服务器中获取消息,消费使用;消费后并没有删除,而是打了一个标签;偏移量记录的就是所有已经消费过的数据的编码

   6.命名服务器NameServer,统筹管理钱三个角色

        1>broker将自己注册进NameServer

        2>producer、conumer通过其获取broker信息然后发送、接受消息

        3>命名服务器NameServer通过心跳检测确认producer、conumer、broker上下线(三个向NameServer 30S发送心跳) 

    7.消息组成: 消息体(body)、主题(Topic)、标签(tag子主题)

     8.broker组成:内涵多个不同主题(To'pi'c)、每个topic包含多个队列(默认4个)

1.6 安装

Java8以上、centos系统

关闭防火墙,以免有多余的操作,开放端口啥的

systemctl status  firewalld
systemctl  stop   firewalld

下载并上传服务器

https://rocketmq.apache.org/download/#rocketmq-grpc-client-java-sdk

  解压

 unzip  rocketmq-all-5.0.0-bin-release.zip

查看解压后文件

1.7搭建NameServer

修改jvm参数

在启动NameServer之前,强烈建议修改一下启动时的jvm参数,因为默认的参数都比较大,为了避免内存不够,建议修改小,当然,如果你的内存足够大,可以忽略。

vi bin/runserver.sh
-server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=50m

启动NameServer

nohup sh bin/mqnamesrv &

 

搭建Broker

修改jvm参数

跟启动NameServer一样,也建议去修改jvm参数

vi bin/runbroker.sh
-server -Xms1g -Xmx1g -Xmn512m

 配置broker配置文件

vi conf/broker.conf
namesrvAddr = localhost:9876
brokerIP1 = 192.168.129.159
brokerIP2 = 192.168.129.159

 启动broker,进入对应文件夹内

nohup sh bin/mqbroker -c conf/broker.conf &

 -c 参数就是指定配置文件

因为 RocketMQ 是java写的,可以在控制台直接查看

搭建 可视化工具

其实就是一个springboto jar包,传输到linux 直接部署运行即可

https://github.com/apache/rocketmq-externals

 

 

直接访问: http://192.168.159.129:8080/  (服务器IP地址:8080)

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值