当前位置: 首页 > news >正文

大型网站建设历史太原网络推广公司哪家好

大型网站建设历史,太原网络推广公司哪家好,西安优化网站技术,网站建设评审rocketMQ集群双主双从同步模式(2m-2s-sync)搭建-CSDN博客 集群架构概念 在部署的时候首先要将nameserver启动起来,之后就是将broker启动起来,broker启动起来会将自己的信息注册到nameserver上面。之后再去创建topic,因为发消息的逻辑和收消…

rocketMQ集群双主双从同步模式(2m-2s-sync)搭建-CSDN博客

集群架构概念 

在部署的时候首先要将nameserver启动起来,之后就是将broker启动起来,broker启动起来会将自己的信息注册到nameserver上面。之后再去创建topic,因为发消息的逻辑和收消息的逻辑都是要基于topic来实现的。

有了topic才能将消息发到某个topic上面,也就是某个主题上面,这个topic是自己可以去建立的。这个topic就是用来区分消息的。

现在建立了topic1,那么生产者就可以把消息往t1上面发。topic是建立在nameserver上面,它其实是逻辑上面的概念。topic和broker在nameserver上面会形成映射的关系。具体物理的保存是保存在broker上面。也就是具体的topic和broker映射关系是保存在nameserver上面的,具体topic对应的消息保存在broker上面。(创建某个topic那么就在broker上面创建出来了)

生产者启动了就要随机选择一个nameserver然后建立长连接。长连接的目的就是定期的获取topic信息。生产者就可以往topic对应的broker上发送消息。

生产者发送完消息了(或者先启动消费者也行),消费者这边也是随机选择nameserver建立长连接,或得topic的信息,它要去连接到broker上面,从broker上面不断的去拉取数据消息。

 

RocketMQ集群模式 

2m-2s表示两个master两个slave,async是异步的刷盘方式,sync是同步的刷盘方式。

为了追求更好的性能, RocketMQ 的最佳实践⽅式都是在集群模式下完成。 RocketMQ官⽅提供了三种集群搭建⽅式。
22从异步通信⽅式
使⽤异步⽅式进⾏主从之间的数据复制,吞吐量⼤,但可能会丢消息。 使⽤ conf/2m-2s-async ⽂件夹内的配置⽂件做集群配置。
22从同步通信⽅式
使⽤同步⽅式进⾏主从之间的数据复制,保证消息安全投递,不会丢失,但影响吞吐量使⽤ conf/2m-2s-sync ⽂件夹内的配置⽂件做集群配置。
2主⽆从⽅式
会存在单点故障,且读的性能没有前两种⽅式好。 使⽤ conf/2m-noslave ⽂件夹内的配置⽂件做集群配置。
Dledger⾼可⽤集群
上述三种官⽅提供的集群没办法实现⾼可⽤,即在 master 节点挂掉后, slave 节点没办法⾃动被选举为新的master ,⽽需要⼈⼯实现。 RocketMQ在 4.5 版本之后引⼊了第三⽅的 Dleger ⾼可⽤集群。
[root@localhost 2m-2s-sync]# ls -l
total 16
-rw-r--r--. 1 root root 928 Feb 22  2024 broker-a.properties
-rw-r--r--. 1 root root 922 Feb 22  2024 broker-a-s.properties
-rw-r--r--. 1 root root 928 Feb 22  2024 broker-b.properties
-rw-r--r--. 1 root root 922 Feb 22  2024 broker-b-s.propertiesbroker-a.properties  broker-b.properties  描述的是两个master
broker-a-s.properties  broker-b-s.properties  描述的是两个master对应的从节点两主两从之间使用的是异步刷盘的方式

 

 

防火墙配置(两台机器都要执行)


可以开放端口,此处本地实现,简单粗暴点儿,直接关闭防火墙;
#检查状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#禁止防火墙开机启动
systemctl disable firewalld

                        
 

 

启动两台nameserver

服务器1:192.168.136.66    broker-a master ,broker-b-s slave)  nameserver 
                                                Master1,Slave2

服务器2:192.168.136.67    broker-bmaster,broker-a-sslave)  nameserver                      Master2,Slave1

启动 RocketMQ 服务需要先启动 NameServer 。 在bin ⽬录内使⽤静默⽅式启动。
nameserver 是⼀个轻量级的注册中⼼, broker 把⾃⼰的信息注册到 nameserver 上。 ⽽且,nameserver 是⽆状态的,直接启动即可。三台 nameserver 之间不需要通信, ⽽是被请求⽅来关联三台nameserver 的地址。
修改启动脚本

修改配置文件runserver.sh,主要是修改JVM参数:因为rocketmq默认配置的JVM参数太大,本地资源有限,所以就改小点儿;

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -
XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

在每台服务器的bin⽬录下执⾏如下命令:

cd /usr/local/rocketmq/bin
nohup sh mqnamesrv 2>&1 &

查看bin/nohup.out显示如下内容表示启动成功: 

[root@localhost bin]# cat nohup.out 
OpenJDK 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

 

创建消息存储路径

因为同一台机器主从节点共用存储路径会冲突报错,这里我们分别创建两个目录避坑,我们在下一步中配置文件就用对应的路径就可以了;

#主节点使用目录
mkdir -p /usr/local/rocketmq/broker-a-master/store
mkdir -p /usr/local/rocketmq/broker-b-slave/store#从节点使用目录
mkidr -p /usr/local/rocketmq/broker-a-slave/store
mkdir -p /usr/local/rocketmq/broker-b-master/store

 

 broker配置文件,配置文件修改如下:
配置文件位置在conf文件目录下。我们使用2m-2s-sync文件夹里面的配置,这个就是对应双主-双从-同步集群

下面配置文件可直接使用:
各配置文件主要区别有主要有以下几个点:brokerName、brokerId、listenPort、brokerRole、flushDiskType、存储路径;
 
首先对192.168.136.66机器上要部署的master1和slave2配置文件进行修改:

编辑broker-a.properties:

[root@localhost 2m-2s-sync]# cat broker-a.properties 
#所属集群名称
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样;主从节点一样,也就是这个值区分broker组的;
brokerName=broker-a
#主从标识:0 表示Master, >0 表示Slave;同一个组中区分主从的标识,只能有一个主;
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.136.66:9876;192.168.136.67:9876
#在发消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除长期无用文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间(h),默认48小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/broker-a-master/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/broker-a-master/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/broker-a-master/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/broker-a-master/store/index
#checkpoint 文件存储路径
storeCheckPoint=/usr/local/rocketmq/broker-a-master/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/broker-a-master/store/abort
#限制的消息大小
maxMessageSize=65536
#broker角色
#- ASYNC_MASTER    异步复制Master
#- SYNC_MASTER     同步双写Master
#- SLAVE    从节点
brokerRole=ASYNC_MASTER
#刷盘策略
#- ASYNC_FLUSH    异步刷盘
#- SYNC_FLUSH     同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

编辑broker-b-s.properties:

[root@localhost 2m-2s-sync]# cat broker-b-s.properties 
#所属集群名称
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#主从标识:0 表示Master, >0 表示Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=192.168.136.66:9876;192.168.136.67:9876
#在发消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11011
#删除长期无用文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间(h),默认48小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/broker-b-slave/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/broker-b-slave/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/broker-b-slave/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/broker-b-slave/store/index
#checkpoint 文件存储路径
storeCheckPoint=/usr/local/rocketmq/broker-b-slave/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/broker-b-slave/store/abort
#限制的消息大小
maxMessageSize=65536
#broker角色
#- ASYNC_MASTER    异步复制Master
#- SYNC_MASTER     同步双写Master
#- SLAVE    从节点
brokerRole=SLAVE
#刷盘策略
#- ASYNC_FLUSH    异步刷盘
#- SYNC_FLUSH     同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
http://www.yayakq.cn/news/959771/

相关文章:

  • 芜湖网站建设哪家好月亮花园wordpress
  • 网站支付平台是怎么做的昆明云南微网站
  • 网站备案拍照背景图wordpress 短网址插件
  • 为什么企业建设银行网站打不开做守望先锋h的网站
  • 大连手机自适应网站制作公司网站优化案例
  • 门户网站建设工作流程天水市住房和城乡建设局网站
  • 免费推广网站大全下载宁波网站建设详细内容
  • 网站架构建设方案网站建设的计划
  • 网站开发接单群网页代理 最干净
  • 一个ip地址做多个网站广西建设网官网住房和城乡厅官网官方网
  • 广州做网站公司电话网站备案是域名备案还是空间备案
  • 做货代还有什么网站可以加人网站管理员怎样管理员权限
  • 昌吉州建设局网站建网站公司耳机套
  • 长沙品质企业建站服务电话提高百度快速排名
  • 太原有哪些做网站的公司建筑焊工证查询网站官方网
  • 网站ip地址大全网页制作素材库属不属于信息管理
  • 没有网站怎样做外贸wordpress js 页脚
  • 抢注域名网站东莞公司注册地址可以是住宅吗
  • 网站建设与维护ppt模板下载网站集约化建设规范
  • 山西大川建设有限公司网站留学网站建设
  • 温州设计集团网站建设ps做好切片后怎么做网站
  • 网站权重传递时代网站管理系统怎么做网站
  • 做网站_没内容以就业为导向的高职计算机专业网站设计
  • wordpress网站移植陕西外贸英文网站建设
  • 公司网站开发完成后怎么办百度做公司网站
  • 广告网站制作报价wordpress themes.php
  • 哪些企业网站使用水墨风格零售商城
  • 网站建设经济可行性公众号怎么做链接
  • 网站开发相关书籍资料淄博网站推广那家好
  • 网站做浮动边框asp代码上海企业登记在线平台