当前位置: 首页 > 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.shuangfujiaoyu.com/news/58472.html

相关文章:

  • 宿松县住房和城乡建设局网站今日热搜榜
  • wordpress for windows进一步优化落实
  • 优设计网站建设微信小程序开发费用一览表
  • 律师做网络推广最好的网站有哪些宁波seo公司
  • 设计网站要多久海外广告联盟平台推广
  • 一下成都网站建设公司网站制作设计
  • 极路由做网站河南seo关键词排名优化
  • 网站开发四个重点天津关键词优化平台
  • 手机网站技巧优化水平
  • 西安网站开发优化大师的优化项目有哪7个
  • 加强校园网站建设湖南靠谱关键词优化
  • 做网站免费的域名不受国内限制的浏览器下载
  • wordpress适合下载收费的主题抖音关键词排名优化软件
  • 郑州做企业网站的公司郑州seo服务技术
  • 长治做网站微信广告
  • 曹县网站开发公司百度的推广广告
  • 网站单页面可以做302跳转吗免费的舆情网站入口在哪
  • asp做的网站怎么发布手机百度关键词优化
  • 网站虚拟主机里的内容强制删除建设企业网站多少钱
  • 简单网站设计站长统计app下载
  • 天元建设集团有限公司青岛分公司seo排名培训公司
  • 做网站的框架网络代运营推广
  • 马鞍山网站建设制作公司搜索引擎优化关键字
  • 黑龙江龙采做网站如何seo顾问服务福建
  • 杭州高端网站建设网络优化行业的发展前景
  • 如何用模版做网站南京seo整站优化技术
  • 留言板 wordpressseo的形式有哪些
  • 网站建设经济成本分析最新长尾关键词挖掘
  • 怎么做电影网站app惠州市seo广告优化营销工具
  • 郑州做网站推广哪家好网站点击量 哪里查询