M1使用docker部署rocketmq单机版
从docker hub上查看到RocketMQ镜像最新版本为0。那么就选择0了。
RockerMQ在k8s的部署有两种方式, 一种是使用operator 在k8s集群中部署,可参考 operation项目 ; 一种是编写简单的k8s配置文件,在rocketmq的docker项目中有提供模板。
部署 docker已经家喻户晓了,这是继虚拟机以后,又一重大变革,将所有的单个微服务都放在docker中,这样你何时何地想部署,直接丢过去就OK了,快到爆。
RocketMQ安装遇到的一些坑
由于咱们是docker构建服务,我在使用第三方rocketmq-client包创建生产者时总是使用docker分配的内网ip进行连接,因连接不通,所以我们需要修改broker配置,使其用本地ip进行连接。
就这样,rockermq就安装好了,接下来我们要修改配置文件。
修改runbroker.cmd、runserver.cmd、tools.cmd三个启动脚本,如下:runbroker.cmd runserver.cmd tools.cmd 设置win的环境变量 ROCKETMQ_HOME、NAMESRV_ADDR,因为jdk17删除了jre模块,使用classpath方式进行加载。
主要是加入了AclRPCHook,在发送消息之前插入accessKey和签名供mq进行校验。之后用测试工程引用本地maven库上安装的rocket工具库进行测试,结果之前能用的代码在用了acl之后一直报错:提示accessKey没配置。
Kafka生态完善,其代码是用Scala语言写成,可靠性比RocketMQ低一些。 RabbitMQ 优点:生态丰富,使用者众,有很多人在前面踩坑。AMQP协议的领导实现,支持多种场景。
安装部署RocketMQ集群(双主双从)
下面我们将要部署双master双slave同步复制的RocketMQ集群,这里需要准备两个虚拟机。就这样,rockermq就安装好了,接下来我们要修改配置文件。
多Master无Slave broker集群仅由多个master构成,不存在Slave。同一Topic的各个Queue会平均分布在各个master节活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看点上。
RocketMQ基于jdk17的win安装。
如图所示为RocketMQ基本的部署结构,主要分为NameServer集群、Broker集群、Producer集群和Consumer集群四个部分。NameServer的作用是注册中心,类似于Zookeeper,但又有区别于它的地方。
没关系,RocketMQ是可以集群化部署的,可以部署在多台机器上,假设每台机器都能抗10万并发,然后你只要让几十万请求分散到多台机器上就可以了,让每台机器承受的QPS不超过10万不就行了。
RocketMQ单机可以支撑10万+的并发访问,集群部署可以让流量分散在多台机器上来支撑高并发。
还没有评论,来说两句吧...