记学习RocketMQ遇到的一些坑

文章来源:一氧化碳中毒   发布时间:2021-8-11 13:03:33   点击数:
  手部白癜风怎么治疗 https://m-mip.39.net/czk/mipso_4515855.html

简单介绍:

消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:

削峰(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)

解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)

异步(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统,不同JVM下异步调用)

1:namesrv和broker启动失败:

由于MQ占用系统内存过大,默认配置文件启动会报错,内存溢出,这个时候要修改配置文件:bin/runbroker.sh以及bin/runserver.sh。

默认的配置内存单位为G,这时候要修改成M,如图所示,这两个文件都要修改,我目前改成了最大m,最小m,已经可以正常启动。

TIP:如何查看是否启动成功:登陆你的linux服务器,输入

jps

可以查看到所有运行的java项目,如图所示,如果看到了图中两个箭头的项目,那么就代表你启动成功了。

2:pom依赖未找到:根据rocket-spring的项目介绍说直接导入依赖但是maven报错,依赖未找到,因为这个Apache并没有把这份代码传到中央仓库。也就是说这个地方是没有的。这个时候只能从github上下载源码,解压之后maven编译打包部署到本地maven仓库mvnpackage-Dmaven.test.skip=true打包完成,idea重新导入maven,正常导入成功3:整合springboot时候报错sendDefaultImplcalltimeout:百度之后,解决办法如下:#进入rocketmq/conf目录,在broker.conf文件中添加配置brokerIP1=本机ip#加载新修改的配置文件broker.conf重新启动broker(先关闭原有broker)nohupshmqbroker-nlocalhost:-c/conf/broker.conf#1.启动Nameserver(首先进入mq安装目录下的bin目录)nohupshmqnamesrv#2.启动Broker(首先进入mq安装目录下的bin目录)nohupshmqbroker-n本机ip:#停止RocketMQ命令nohupshmqshutdownnamesrvnohupshmqshutdownbroker但是依然是链接超时,之后我认为可能是服务器提供商安全组规则没有开放(rocketMQ默认端口),于是我前往服务器提供商后台开放端口,但是测试时候依然链接超时,于是想到linux服务器也是有防火墙的,于是在linux中开启了端口,都开启端口后发现,还是链接超时!于是我打算安装一个可视化面板,来登陆rocket控制台,看看是否是rocket没搭建好,于是前往github下载rocketmq-console。下载之后配置application.properties中的rocketmq.config.namesrvAddr=你的服务器ip然后maven打包编译,运行,进入rocketmq-console的控制台加载半天最后提示我链接到端口超时,我打开了端口,重新加载,加载出来了集群信息,然后springboot生产者发送消息依然失败,发现集群的端口为,我又打开了端口。经了解之后producer和consumer使用服务的端口号,默认为,可以通过配置文件中修改。配置文件中指定的话使用listenPort如broker-a.properties文件为:目前这种写法Rocket默认开启了VIP通道,VIP通道端口为-2=。若Rocket服务器未启动端口,则报connecttofailed,开启这三个端口之后,生产者发送消息正常,消费者消费消息也正常预览时标签不可点收录于话题#个上一篇下一篇
转载请注明:http://www.lwblm.com/zdwh/12287.html
  • 上一篇文章:
  • 下一篇文章: