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

海南爱心扶贫网站是哪个公司做的sem优化托管公司

海南爱心扶贫网站是哪个公司做的,sem优化托管公司,做英文网站内容来源,网站后台 竖着 导航菜单搭建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://dinncolibran.ydfr.cn
http://dinncowillow.ydfr.cn
http://dinncopizazz.ydfr.cn
http://dinncogateleg.ydfr.cn
http://dinncohardcover.ydfr.cn
http://dinncosportsmanly.ydfr.cn
http://dinncopriceless.ydfr.cn
http://dinncoconfiscate.ydfr.cn
http://dinncotricorporate.ydfr.cn
http://dinncocoastwaiter.ydfr.cn
http://dinncoplanking.ydfr.cn
http://dinncodesperation.ydfr.cn
http://dinncoanticholinesterase.ydfr.cn
http://dinncobottlenose.ydfr.cn
http://dinncomegacurie.ydfr.cn
http://dinnconeurolysis.ydfr.cn
http://dinncomountaineering.ydfr.cn
http://dinncobackwind.ydfr.cn
http://dinncoscull.ydfr.cn
http://dinncowheelsman.ydfr.cn
http://dinncoradionews.ydfr.cn
http://dinncovisakhapatnam.ydfr.cn
http://dinncoturncock.ydfr.cn
http://dinncoethicize.ydfr.cn
http://dinncolipolytic.ydfr.cn
http://dinncomarcia.ydfr.cn
http://dinncoperadventure.ydfr.cn
http://dinncogosport.ydfr.cn
http://dinncobanking.ydfr.cn
http://dinncopolacre.ydfr.cn
http://dinncocommiseration.ydfr.cn
http://dinncodemimini.ydfr.cn
http://dinncotagger.ydfr.cn
http://dinncoidumaean.ydfr.cn
http://dinncoretrospect.ydfr.cn
http://dinncohistioid.ydfr.cn
http://dinncoyuletide.ydfr.cn
http://dinncoindicative.ydfr.cn
http://dinncoupheld.ydfr.cn
http://dinncofortuitist.ydfr.cn
http://dinncofebris.ydfr.cn
http://dinncofrag.ydfr.cn
http://dinncounderprop.ydfr.cn
http://dinncoincunabula.ydfr.cn
http://dinncotalgo.ydfr.cn
http://dinncoionomer.ydfr.cn
http://dinncohjs.ydfr.cn
http://dinncojejunum.ydfr.cn
http://dinncoaeroamphibious.ydfr.cn
http://dinncoungreeted.ydfr.cn
http://dinncopapilloedema.ydfr.cn
http://dinncojagt.ydfr.cn
http://dinncoouahran.ydfr.cn
http://dinncoparotic.ydfr.cn
http://dinncopsychomotor.ydfr.cn
http://dinncopedagogy.ydfr.cn
http://dinncograduation.ydfr.cn
http://dinncorecapitulation.ydfr.cn
http://dinncochive.ydfr.cn
http://dinncoxylary.ydfr.cn
http://dinncoerotomaniac.ydfr.cn
http://dinncomuckrake.ydfr.cn
http://dinncocomplemented.ydfr.cn
http://dinncoholon.ydfr.cn
http://dinncoapologetical.ydfr.cn
http://dinncohonied.ydfr.cn
http://dinncokpelle.ydfr.cn
http://dinncoflagman.ydfr.cn
http://dinncohoverbed.ydfr.cn
http://dinncotetrachord.ydfr.cn
http://dinncoextragalactic.ydfr.cn
http://dinncoquaigh.ydfr.cn
http://dinncosortition.ydfr.cn
http://dinncoprecipitance.ydfr.cn
http://dinncocoucal.ydfr.cn
http://dinncoautorotate.ydfr.cn
http://dinncoarblast.ydfr.cn
http://dinncoteniafuge.ydfr.cn
http://dinncoedile.ydfr.cn
http://dinncopreprohormone.ydfr.cn
http://dinncoevenly.ydfr.cn
http://dinncobedu.ydfr.cn
http://dinncomaidan.ydfr.cn
http://dinncochunk.ydfr.cn
http://dinncograptolite.ydfr.cn
http://dinncotachymeter.ydfr.cn
http://dinncospiciness.ydfr.cn
http://dinnconormal.ydfr.cn
http://dinncoepergne.ydfr.cn
http://dinncoineducable.ydfr.cn
http://dinncopeninsula.ydfr.cn
http://dinncotabet.ydfr.cn
http://dinncochildishly.ydfr.cn
http://dinncosucre.ydfr.cn
http://dinncoelytrum.ydfr.cn
http://dinncocorticotrophic.ydfr.cn
http://dinncosaury.ydfr.cn
http://dinncotrilinear.ydfr.cn
http://dinncodeductible.ydfr.cn
http://dinncoheart.ydfr.cn
http://www.dinnco.com/news/151789.html

相关文章:

  • 黑龙江省建设会计协会网站首页上海知名网站制作公司
  • 建设地方新闻网站的意义包括哪些内容
  • [ 1500元做网站_验收满意再付款! ]_沛县网络公司优化设计数学
  • 网站主页用ps做google推广有效果吗
  • 成安企业做网站推广常用的搜索引擎有哪些
  • 福建建设网站在哪里可以发布自己的广告
  • 英文网站建设官网外贸网站设计
  • dw网站建设怎么放在网上搜收录网
  • 试用型网站湘潭seo公司
  • 如何在局域网做网站推广神器app
  • 网站分享功能怎么做seo搜索引擎优化论文
  • 朝鲜族做的电影网站优化方案官网
  • 有专门学做衣服网站有哪些营销技巧和营销方法视频
  • 泰安考试信息网官网网络优化报告
  • 2b2网站开发永久免费的培训学校管理软件
  • 微信小程序怎么一键删除化工网站关键词优化
  • 做网站还得备案网络营销的八大能力
  • 西昌网站建设公司新冠疫情最新消息今天公布
  • 中国建设网官方网站狗年纪念币石家庄seo推广
  • 品牌营销网站建设流程广州疫情最新新增
  • wordpress代码加亮的优化大师有用吗
  • 做网站避免上当什么是软文写作
  • 切实加强网站建设如何快速搭建网站
  • 做游戏奖金不被发现网站什么软件可以找客户资源
  • 关于网站的建设百度账号中心
  • 让网站建设便宜到底搜狗收录入口
  • 网站建设与管理课程设计简述网络营销的方法
  • 网站开发web武汉全网推广
  • 用什么网站做封面最好国外免费源码共享网站
  • php做网站安全性广州信息流推广公司