安装部署RocketMQ集群(双主双从)

安装部署RocketMQ集群(双主双从),第1张

在 前面 ,我们介绍了如果快速安装单个RocketMQ。快速安装意味着这只是在测试环境下的小打小闹,我们在单机安装的基础上,尝试安装RocketMQ集群。本次安装为了方便,使用的是已经编译好的二进制包进行安装部署。

RocketMQ集群解决了单机版RocketMQ所存在的单点故障问题,并且还可以对RocketMQ性能进行横向的拓展。
下图是官网上的架构图,可以看到RocketMQ分为四个部分:

其中,根据RocketMQ Broker的集群方式的不同,大概可以分为三种:

配置文件所在目录 conf 中,我们可以看到有三个文件夹:2m-noslave、2m-2s-async、2m-2s-sync。这三个目录刚好对应上面提到的三种集群方式,里面包含了官方给的配置示例,我们待会会在这个基础上修改。

下面我们将要部署双master双slave同步复制的RocketMQ集群,这里需要准备两个虚拟机。

就这样,rockermq就安装好了,接下来我们要修改配置文件。

由于默认的数据和日志存储的位置是当前用户的家目录,我们还需要修改到 /data/rocketmq目录下:

日志目录的配置文件在 conf的几个xml文件里面:

最后,我们进入到 2m-2s-sync 目录下,修改里面的broker配置文件:

先启动两台机器的Nameserver

然后分别启动4个Broker进程:

就这样,RocketMQ双主双从的集群就已经搭建好了,通过rocketmq-console的监控页面,可以看到如下的集群情况:

这些配置参数,在Broker 启动的时候生效,如果启动后有更改,要重启Broker 。现在使用云服务或多网卡的机器比较普遍, Broker 自动探测获得的ip地址可能不符合要求,通过brokerIP1 =47 9841234 这样的配置参数,可以设置Broker 机器对外暴露的ip 地址。

broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者。
如今有很多的broker,下面就是一张关于各种broker对比的:

目前我用过的有mosquitto和emqttd(20版本后改叫EMQ),因为目前的需求是希望做每秒10万以上的数据接入,所以需要考虑建立集群。但是在使用mosquitto的过程中发现他不支持集群,所以就放弃了,转投emqttd。
在使用mosquitto过程中发现了一些问题:
在使用mosquitto时,如果想使用集群的话,可能会需要进行二次开发。目前只支持桥接。并且他在遍历时的效率非常低,使得他无法支持大量的客户端或者 *** 作过于频繁的 *** 作(比如十万或百万级别的客户端同时发送数据)
emqttd有以下优点:

EMQ 20 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。(抄自 EMQ官方文档 )

配置参考如下:
每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信。包括普通>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10734365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存