RocketMQ的部署,这里不做太多的说明,因为官方文档上面写的已经非常清晰了,可以照着官方文档一顿 *** 作,下面为官方文档的地址:
>1安装环境:center os 7
11 需要java环境,jdk18
rocketMQ包为:rocketmq-all-440-bin-releasezip
启动NAMESERVER
进入至‘MQ文件夹\bin’下,然后执行‘nohup sh mqnamesrv &’,启动NAMESERVER。
查看日志的命令:tail -f ~/logs/rocketmqlogs/namesrvlog
启动BROKER
进入至‘MQ文件夹\bin’下,然后执行‘nohup sh mqbroker -n localhost:9876 &’,启动BROKER。
你也可以nohup sh mqbroker-c /conf/brokerconf -n 1921680128:9876 autoCreateTopicEnable=true &
这样启动的服务器可以自动创建主题(客户端),不过生产一般不推荐
查看日志的命令:tail -f ~/logs/rocketmqlogs/brokerlog
这个时候rocket服务已经正常启动,本地能访问,但是外部服务无法访问。
进入conf/brokerconf中,添加namesrvAddr=IP:9876、brokerIP1=IP地址
关闭broker服务,使用nohup sh mqbroker-c /conf/brokerconf -n 1921680128:9876 autoCreateTopicEnable=true & 重新启动服务,外部服务就能访问到rocker服务了
Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件。
支持Broker和Consumer端消息过滤,支持发布订阅模型和点对点,支持拉pull和推push两种消息模式,单一队列百万消息、亿级消息堆积,支持单master节点,多master节点,多master多slave节点,任意一点都是高可用,水平拓展,Producer、Consumer、队列都可以分布式,消息失败重试机制、支持特定level的定时消息,新版本底层采用Netty,43x支持分布式事务,适合金融类业务,高可用性跟踪和审计功能。
Producer :消息生产者
Producer Group :消息生产者组,发送同类消息的一个消息生产组
Consumer :消费者
Consumer Group :消费同类消息的多个实例
Tag :标签,子主题(二级分类)对topic的进一步细化,用于区分同一个主题下的不同业务的消息
Topic :主题, 如订单类消息,queue是消息的物理管理单位,而topic是逻辑管理单位。一个topic下可以有多个queue,
默认自动创建是4个,手动创建是8个
Message :消息,每个message必须指定一个topic
Broker :MQ程序,接收生产的消息,提供给消费者消费的程序
Name Server :给生产和消费者提供路由信息,提供轻量级的服务发现、路由、元数据信息,可以多个部署,互相独立(比zookeeper更轻量)
Offset : 偏移量,可以理解为消息进度
commit log : 消息存储会写在Commit log文件里面
1、添加maven依赖
2、新建jms包,JMSConfig类,设置配置常量
3、新建生产者PayProducer
4、新建PayController
这个时候,启动应用,访问api/sync路径,会报没有这个topic异常
需要去管控台手工创建topic,或者将SpringBoot依赖的RocketMQ版本与服务端RocketMQ的版本改成一样的,也可以。例如我的pomxml文件中,依赖的版本是430,而服务器上部署的RocketMQ版本是440,就不会自动创建topic。
创建topic之后,再次访问访问api/sync路径,会报下面异常
在conf/brokerconf文件中添加如下配置
然后指定配置文件启动Broker,返回上一级,然后重启Broker
或者使用守护进程方式启动Broker
再次访问api/sync,返回成功
RocketMQ管控台也可查询此消息
新建PayConsumer
访问: >首先在你的服务器上安装上docker,没有的朋友可以看我相关的其他文档
检查是否安装了docker
选择图中的镜像仓库
选择rocketmq-451版本的镜像
将rocketmq-server和rocketmq-broker两个镜像拉到服务器上
另外再拉一个客户端镜像
客户端镜像地址
检查你的服务器镜像,这时候应该有三个镜像
根据镜像创建并启动对应的镜像
先要创建启动server容器
启动broker容器
启动完broker容器
配置文件添加内容
最后启动客户端容器
查看容器的状态
三个容器都是up运行的状态
然后打开你的浏览器输入对应的ip:8180端口
出现图中所示的浏览器,说明你的rocketmq就已经搭建好了。
下面就可以自己去收发message了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)