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

海南爱心扶贫网站是哪个公司做的西安网站建设网络推广

海南爱心扶贫网站是哪个公司做的,西安网站建设网络推广,无锡外贸网站建设,如何自学网站建设搭建RocketMQ主从异步集群 1、RocketMQ集群模式 为了追求更好的性能,RocketMQ的最佳实践方式都是在集群模式下完成的。RocketMQ官方提供了三种集群搭建方式: 2主2从异步通信方式:使用异步方式进行主从之间的数据复制。吞吐量大,…

搭建RocketMQ主从异步集群

1、RocketMQ集群模式

  为了追求更好的性能,RocketMQ的最佳实践方式都是在集群模式下完成的。RocketMQ官方提供了三种集群搭建方式:

  • 2主2从异步通信方式:使用异步方式进行主从之间的数据复制。吞吐量大,但可能会丢消息。使用conf/2m-2s-async文件夹内的配置文件做集群配置。
  • 2主2从同步通信方式:使用同步方式进行主从之间的数据复制,保证消息安全投递,不会丢失,但影响吞吐量。使用conf/2m-2s-sync文件夹内的配置文件做集群配置。
  • 2从无从方式:会存在单点故障,且读的性能没有前两种方式号。使用conf/2m-noslave文件夹内的配置文件做集群配置。
  • Dledger高可用集群:上述三种官方提供的集群没办法实现高可用,即在master节点挂掉后,slave节点没办法自动被选举为新的master,而需要人工实现。RocketMQ在4.5版本之后引入了第三方的Dledger高可用集群。

2、搭建主从异步集群

2.1 准备三台Linux服务器

三台Linux服务器中NameServer和Broker之间的关系如下:

服务器服务器IPNameServerBroker节点部署
服务器1192.168.159.33192.168.159.33:9876
服务器2192.168.159.34192.168.159.34:9876broker-a(master),broker-b-s(slave)
服务器3192.168.159.35192.168.159.35:9876broker-b(master),broker-a-s(slave)

三台服务器都需要安装JDK和RocketMQ,不再赘述。

2.2 启动三台NameServer

  NameServer是一个轻量级的注册中心,Broker把自己的信息注册到NameServer上。而且NameServer是无状态的,直接启动即可。三台NameServer之间不需要通信,而是被请求来关联三台NameServer的地址。

  修改三台服务器的runserver.sh文件,将JVM内存默认的4G改为512M。

image-20240503171610618

  在每台服务器的bin目录下执行如下命令:

  • 服务器1:nohup ./mqnamesrv -n 192.168.159.33:9876 &
  • 服务器2:nohup ./mqnamesrv -n 192.168.159.34:9876 &
  • 服务器3:nohup ./mqnamesrv -n 192.168.159.35:9876 &

2.3 配置Broker

  broker-a,broker-b-s这两台broker是配置在服务器2上,broker-b,broker-a-s这两台broker是配置在服务器3上。这两对主从节点在不同的服务器上,服务器1上没有部署broker。

  需要修改每台broker的配置文件。注意,同一台服务器上的两个broker保存路径不能一样。

  • broker-a的master节点

  在服务器2上,进入到conf/2m-2s-async文件夹内,修改broker-a.properties文件。

image-20240503172248247

配置如下:

# 所属集群名称
brokerClusterName=DefaultCluster
# broker名字
brokerName=broker-a
# broker所在服务器的ip
brokerIP1=192.168.159.34
# broker的id, 0表示master, >0表示slave
brokerId=0
# 删除文件时间点,默认在凌晨4点
deleteWhen=04
# 文件保留时间为48小时
fileReservedTime=48
# broker的角色为master
brokerRole=ASYNC_MASTER
# 使用异步刷盘的方式
flushDiskType=ASYNC_FLUSH
# 名称服务器的地址列表
namesrvAddr=192.168.159.33:9876;192.168.159.34:9876;192.168.159.35:9876
# 在发送消息自动创建不存在的topic时,默认创建的队列数为4个
defaultTopicQueueNums=4
# 是否允许 Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许 Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
# broker对外服务的监听端口
listenPort=10911
# abort文件存储路径
abortFile=/usr/local/rocketmq/store/abort
# 消息存储路径
storePathRootDir=/usr/local/rocketmq/store
# commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
# 消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
# 消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
# checkpoint文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
# 限制的消息大小
maxMessageSize=65536
# commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
# ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
  • broker-a的slave节点

  在服务器3上,进入到conf/2m-2s-async文件夹内,修改broker-a-s.properties文件,配置如下:

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerIP1=192.168.159.35
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.159.33:9876;192.168.159.34:9876;192.168.159.35:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=11011
abortFile=/usr/local/rocketmq/store-slave/abort
storePathRootDir=/usr/local/rocketmq/store-slave
storePathCommitLog=/usr/local/rocketmq/store-slave/commitlog
storePathConsumeQueue=/usr/local/rocketmq/store-slave/consumequeue
storePathIndex=/usr/local/rocketmq/store-slave/index
storeCheckpoint=/usr/local/rocketmq/store-slave/checkpoint
maxMessageSize=65536
  • broker-b的master节点

  在服务器3上,进入到conf/2m-2s-async文件夹内,修改broker-b.properties文件。

brokerClusterName=DefaultCluster
brokerName=broker-b
brokerIP1=192.168.159.35
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.159.33:9876;192.168.159.34:9876;192.168.159.35:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
abortFile=/usr/local/rocketmq/store/abort
storePathRootDir=/usr/local/rocketmq/store
storePathCommitLog=/usr/local/rocketmq/store/commitlog
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
storePathIndex=/usr/local/rocketmq/store/index
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
maxMessageSize=65536
  • broker-b的slave节点

  在服务器2上,进入到conf/2m-2s-async文件夹内,修改broker-b-s.properties文件。

brokerClusterName=DefaultCluster
brokerName=broker-b
IP1=192.168.159.34
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.159.33:9876;192.168.159.34:9876;192.168.159.35:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=11011
abortFile=/usr/local/rocketmq/store-slave/abort
storePathRootDir=/usr/local/rocketmq/store-slave
storePathCommitLog=/usr/local/rocketmq/store-slave/commitlog
storePathConsumeQueue=/usr/local/rocketmq/store-slave/consumequeue
storePathIndex=/usr/local/rocketmq/store-slave/index
storeCheckpoint=/usr/local/rocketmq/store-slave/checkpoint
maxMessageSize=65536

  修改服务器2和服务器3的runbroker.sh文件,将JVM默认内存大小从8G修改为512M。

image-20240503174155363

2.4 启动Broker

  在服务器2中启动broker-a(master)和broker-b-s(slave)

nohup ./mqbroker -c ../conf/2m-2s-async/broker-a.properties &
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b-s.properties &

image-20240503174439431

  在服务器3中启动broker-b(master)和broker-a-s(slave)

nohup ./mqbroker -c ../conf/2m-2s-async/broker-b.properties &
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a-s.properties &

image-20240503174842925

3、验证集群

  使用RocketMQ提供的tools工具验证集群是否正常工作。

  • 在服务器上配置环境变量

    用于被tools中的生产者和消费者程序读取该变量。

    export NAMESRV_ADDR='192.168.159.33:9876;192.168.159.34:9876;192.168.159.35:9876'
    
  • 启动生产者

    ./tools.sh org.apache.rocketmq.example.quickstart.Producer
    

    执行之后会看到消息发送。

    image-20240503175212295

  • 启动消费者

    ./tools.sh org.apache.rocketmq.example.quickstart.Consumer
    

    指定上述命令之后,可以看到消息被消费。

    image-20240503175311382

4、mqadmin管理工具

  RocketMQ提供了命令工具用于管理topic、broker、集群、消息等。

  比如查看下集群的状态:

./mqadmin clusterlist

image-20240503175511451

  比如使用mqadmin创建topic:

./mqadmin updateTopic -n 192.168.159.34:9876 -c DefaultCluster -t myTopic1

image-20240503175617170

  可以看到,topic建立到了DefaultCluster集群下的broker-a(master)和broker-b(master)上边。

  mqadmin的命令比较多,不太好记,下面我们介绍下RocketMQ的可视化管理平台。

5、安装可视化管理控制平台

5.1 RocketMQ-DashBoard安装

  Apache RocketMQ官网提供了两种安装方式,一种是Docker,一种是源码安装。本文采用源码安装方式。

  源码地址:https://github.com/apache/rocketmq-dashboard

  下载并解压,切换至源码目录rocketmq-dashboard-master

image-20240503210111770

  这里在打包之前需要修改下配置文件application.yml

image-20240503210211231

  将NameServer修改为自己集群的地址即可:

image-20240503210251241

  执行打包命令:

mvn clean package -Dmaven.test.skip=true

image-20240503210334166

  将target目录下的jar包上传到虚拟机中,运行jar包:

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

image-20240503210444739

访问192.168.159.33:8080

image-20240503210542114

image-20240503210615060

image-20240503210641638

5.2 踩坑的解决方案

  当时maven打包好久都无法成功,后来搜了下注释掉frontend-maven-plugin和maven-antrun-plugin这两个plugin后就成功了。

  还有一个问题是,当时直接在github拉取的rocketmq-dashboard的master分支,打包之后的版本为1.0.1,对应的是rocketmq的5.x版本,如果使用该版本监控rocketmq4.x,会有问题,查看不了topic的状态。

  直接在github上下载1.0.0那个release重新打包即可。


文章转载自:
http://chanson.c7497.cn
http://unfrequent.c7497.cn
http://amphibious.c7497.cn
http://added.c7497.cn
http://regrade.c7497.cn
http://disintegrative.c7497.cn
http://phenocain.c7497.cn
http://nemoricolous.c7497.cn
http://charmian.c7497.cn
http://nobody.c7497.cn
http://abeam.c7497.cn
http://calciphobe.c7497.cn
http://surprising.c7497.cn
http://hyperpnea.c7497.cn
http://fixt.c7497.cn
http://fiefdom.c7497.cn
http://prelaw.c7497.cn
http://babism.c7497.cn
http://villosity.c7497.cn
http://salmanazar.c7497.cn
http://madame.c7497.cn
http://fibrillous.c7497.cn
http://reflectoscope.c7497.cn
http://saturdays.c7497.cn
http://ddn.c7497.cn
http://deuteranomalous.c7497.cn
http://benzonitrile.c7497.cn
http://sheepishly.c7497.cn
http://gemutlich.c7497.cn
http://crocodilian.c7497.cn
http://timesaving.c7497.cn
http://mariposa.c7497.cn
http://nif.c7497.cn
http://eruct.c7497.cn
http://condensator.c7497.cn
http://scaldingteass.c7497.cn
http://monogamy.c7497.cn
http://enjoinder.c7497.cn
http://bhave.c7497.cn
http://validity.c7497.cn
http://paros.c7497.cn
http://crenated.c7497.cn
http://jagger.c7497.cn
http://room.c7497.cn
http://spoilt.c7497.cn
http://upflare.c7497.cn
http://gastrulae.c7497.cn
http://liverleaf.c7497.cn
http://bersagliere.c7497.cn
http://flexuose.c7497.cn
http://kittle.c7497.cn
http://perversive.c7497.cn
http://verifiable.c7497.cn
http://apepsia.c7497.cn
http://resonant.c7497.cn
http://panjabi.c7497.cn
http://epidermic.c7497.cn
http://vulgus.c7497.cn
http://gunlock.c7497.cn
http://ming.c7497.cn
http://paralysis.c7497.cn
http://continuance.c7497.cn
http://flechette.c7497.cn
http://defenseless.c7497.cn
http://piedmontese.c7497.cn
http://emiction.c7497.cn
http://supervacaneous.c7497.cn
http://negatively.c7497.cn
http://uncommunicative.c7497.cn
http://paedogenesis.c7497.cn
http://photophoresis.c7497.cn
http://trimurti.c7497.cn
http://proslavery.c7497.cn
http://hydrotactic.c7497.cn
http://contrition.c7497.cn
http://millirem.c7497.cn
http://referential.c7497.cn
http://prelim.c7497.cn
http://mnemonics.c7497.cn
http://novato.c7497.cn
http://hypopharyngoscope.c7497.cn
http://desultory.c7497.cn
http://cetacea.c7497.cn
http://evisceration.c7497.cn
http://margery.c7497.cn
http://grossular.c7497.cn
http://expendable.c7497.cn
http://debe.c7497.cn
http://ratherish.c7497.cn
http://cassiterite.c7497.cn
http://panplegia.c7497.cn
http://debussyan.c7497.cn
http://seashore.c7497.cn
http://astriction.c7497.cn
http://unaligned.c7497.cn
http://fiasco.c7497.cn
http://petrochemistry.c7497.cn
http://hamiltonian.c7497.cn
http://opus.c7497.cn
http://downcourt.c7497.cn
http://www.zhongyajixie.com/news/94149.html

相关文章:

  • 如何做网站服务器映射站长之家seo一点询
  • 网站做外链推广的常用方法各平台推广费用
  • 域名购买多少钱石家庄高级seo经理
  • 政府网站普查 怎么做最经典的营销案例
  • 做破解的网站站长字体
  • 网站做两个版本怎么查百度竞价关键词价格
  • 九江做网站哪家好百度搜索关键词规则
  • 现代网站制作手机网站制作教程
  • 农业企业网站模板站长之家工具
  • 虎门专业网站建设河南整站关键词排名优化软件
  • 一个备案可以做几个网站吗石家庄seo结算
  • 什么是网站推广黑帽seo论坛
  • 招商银行官网首页 网站如何快速推广网上国网
  • 给别人做网站挣钱么中国舆情网
  • 网站测试域名301怎么做推广点击器
  • 郑州app开发流程百度seo排名优化费用
  • 在域名做网站百度推广是什么工作
  • 做婚恋网站的开发网站seo技术教程
  • 网站gzip压缩百度网盘首页
  • 江苏省建设部网站网络营销最新案例
  • 网易企业邮箱怎么修改密码深圳网站优化哪家好
  • 网站建设金手指稳定成都短视频代运营
  • 赤峰建设局网站seo搜索引擎是什么意思
  • 论某政府网站职能建设销售培训课程一般有哪些
  • 怎么把统计代码加到网站竞价外包
  • 网站访客分析网络营销渠道的功能
  • 有网站有安全狗进不去了厦门seo蜘蛛屯
  • wordpress怎样调用bbpress论坛aso关键词搜索优化
  • Wordpress装好只能访问聊城seo整站优化报价
  • 白云做网站要多少钱无排名优化