一、MQ介绍
MQ的优势:
1、业务解耦(降低耦合度)
2、异步提速(降低同步请求的时间)
3、削峰填谷(峰值降低,平稳延续到低谷)
MQ的劣势:
1、保证MQ高可用
2、如何避免重复消费,遗漏消费
3、复杂度增加,保证处理一致性
MQ技术选型:
ActiveMQ java实现,处理万级,ms级别,最早但是速度慢
RabbitMQ erlang实现,处理万级,us级别,速度快
RocketMQ java实现,处理十万级,ms级别,功能和扩展性强
Kafka scala实现,处理十万级,ms级别,功能少,适用于大数据
二、RocketMQ工作原理:
image.png三、RocketMQ在Windows下的安装启动:
解压rocketmq-all-4.8.0-bin-release.zip
配置环境变量
image.pngimage.png
启动NameServer(bin目录下)
E:\RocketMQ\rocketmq-all-4.8.0-bin-release\bin>mqnamesrv.cmd
NameServer启动成功
启动BrokerServer(bin目录下)
E:\RocketMQ\rocketmq-all-4.8.0-bin-release\bin>mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
如果出现以上报错需要在runbroker.cmd中的%CLASSPATH%加英文双引号
set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%""
本地QuickStart测试
E:\RocketMQ\rocketmq-all-4.8.0-bin-release\bin>tools.cmd org.apache.rocketmq.example.quickstart.Producer
image.png
报错service not available now, maybe disk full的解决办法:
1.先删除掉/store/commitlog文件夹下的没用的日志文件
2.编辑/conf/2m-2s-async/broker-a.properties文件,添加 diskMaxUsedSpaceRatio=98 磁盘占用到98%才会报错
E:\RocketMQ\rocketmq-all-4.8.0-bin-release\bin>tools.cmd org.apache.rocketmq.example.quickstart.Consumer
image.png
网友评论