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

做网站交易平台做网站基本步骤

做网站交易平台,做网站基本步骤,seo分析工具,东莞建域名网站一、介绍 我也不知道是啥#xff0c;知道有什么用、怎么用就行了#xff0c;说到mq#xff08;MessageQueue#xff09;就是消息队列#xff0c;队列是先进先出的一种数据结构#xff0c;但是RocketMQ不一定是这样#xff0c;简单的理解一下#xff0c;就是临时存储的…一、介绍 我也不知道是啥知道有什么用、怎么用就行了说到mqMessageQueue就是消息队列队列是先进先出的一种数据结构但是RocketMQ不一定是这样简单的理解一下就是临时存储的数据的一个临时仓库货送到了就行了 作用一般有三个 异步服务器把客户端请求放到RocketMQ服务器就可以继续处理其它请求RocketMQ可以按照自己的规则推送到对应的服务器进行处理解耦比如订单服务和库存服务直接如果不用队列下单必须等库存响应才能返回这样依赖性太强服务中间加入中间件可以降低服务直接的依赖削峰洪峰流量时大量请求涌入如果处理不过来服务器就容易瘫痪就像处理水患一样中间挖一个坑蓄水RocketMQ就相当于这个坑再把消息发到对应的下游服务器 二、单机部署 RocketMQ下载地址下载 | RocketMQ 对bin目录下的runserver.sh和runbroker.sh两个脚本进行一下修改主要是jvm的的内存参数设置 vim runserver.sh # 找到choose_gc_options 根据jdk版本配置合适的内存大小 JAVA_OPT${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize128m -XX:MaxMetaspaceSize320mvim runbroker.sh # 找到choose_gc_options 根据jdk版本配置合适的内存大小 JAVA_OPT${JAVA_OPT} -Xmn512m -XX:UseConcMarkSweepGC -XX:UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction70 -XX:CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB0 -XX:CMSClassUnloadingEnabled -XX:SurvivorRatio8 -XX:-UseParNewGC JAVA_OPT${JAVA_OPT} -server -Xms1g -Xmx1g1、启动nameserver服务 cd /usr/local/rocketmq/rocketmq-all-5.0.0-bin-release # 后台启动 nohup bin/mqnamesrv # 查看是否启动成功 less nohup.out # 查看java进程NamesrvStartup服务 jps 2、启动broker服务 配置环境遍历NAMESRV_ADDR  vi ~/.profile #最后一行添加如下内容 export NAMESRV_ADDRlocalhost:9876 #source生效 source ~/.profile 启动broker服务  cd /usr/local/rocketmq/rocketmq-all-5.0.0-bin-release vim conf/broker.conf #在最后一行添加如下 意思是开启自动创建topic autoCreateTopicEnabletrue #启动broker nohup bin/mqbroker # 查看是否启动成功 less nohup.out # 查看java进程BrokerStartup服务 jps 3、关闭 1、在实际服务部署时通常会将RocketMQ的部署地址添加到环境变量当中。例如使用vi ~/.bash_profile指令添加以下内容。 export ROCKETMQ_HOME/app/rocketmq/rocketmq-all-4.9.5-bin-releasePATH$ROCKETMQ_HOME/bin:$PATHexport PATH 这样就不必每次进入RocketMQ的安装目录了。直接可以使用mqnamesrv 和mqbroker指令。 2、停止RocketMQ服务可以通过mqshutdown指令进行 mqshutdown namesrv # 关闭nameserver服务 mqshutdown broker # 关闭broker服务 4、测试收发消息 #通过指令启动RocketMQ的消息生产者发送消息 bin/tools.sh org.apache.rocketmq.example.quickstart.Producer #启动消息消费者接收之前发送的消息 bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer 5、搭建RocketMQ可视化界面 在RocketMQ下载页找到RocketMQ Dashboard进行源码的下载解压后在maven环境下进行编译 mvn clean package -Dmaven.test.skiptrue 编译完成后在源码的target目录下会生成可运行的jar包rocketmq-dashboard-1.0.0.jar。接下来可以将这个jar包上传到服务器上 cd /usr/local/rocketmq mkdir rocketmq-dashboard cd rocketmq-dashboard #上传文件到此目录后新建application.yml如果出现错误可以不添加yml文件 vim application.yml application.yml内容如下 rocketmq: config: namesrvAddrs: - 192.168.146.128:9876#结果启动RocketMQ可视化界面的jar包 java -jar rocketmq-dashboard-1.0.0.jar 1dashboard.log 21 查看dashboard.log文件们没有报错的情况下访问部署的所在机器的ip:8080默认 三、集群搭建 如果单节点部署nameserver或者broker挂了都不能正常访问RocketMQ了针对这种情况可以基于集群部署先是对集群做了如下部署规划 不要想用一台机器来搭建否则就会出现这个错误 正式开始下面开了三台机器ip依次是192.168.64.133、192.168.64.134、192.168.64.128 第一步先按照之前的步骤配置nameserver然后启动 #三台机器启动nameserver都是一样的操作 cd /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release vim bin/runserver.sh # 找到choose_gc_options 根据jdk版本配置合适的内存大小 JAVA_OPT${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize128m -XX:MaxMetaspaceSize320m # 后台启动 nohup bin/mqnamesrv # 查看是否启动成功 less nohup.out # 查看java进程NamesrvStartup服务 jps 第二步配置并启动broker主从集群 1、在192.168.64.133上配置broker-a修改conf/2m-2s-async/broker-a.properties把原来的注释掉添加如下内容 #所属集群名字名字一样的节点就在同一个集群内 brokerClusterNamerocketmq-cluster #broker名字名字一样的节点就是一组主从节点。 brokerNamebroker-a #brokerid,0就表示是Master0的都是表示 Slave brokerId0 #nameServer地址分号分割 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 #是否允许 Broker 自动创建Topic建议线下开启线上关闭 autoCreateTopicEnabletrue deleteWhen04 fileReservedTime120 #存储路径 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 abortFile/usr/local/rocketmq/store/abort #Broker 的角色 brokerRoleASYNC_MASTER flushDiskTypeASYNC_FLUSH #Broker 对外服务的监听端口 listenPort10911 2、在192.168.64.134上配置broker-a的slave修改conf/2m-2s-async/broker-a-s.properties把原来的注释掉添加如下内容 #所属集群名字名字一样的节点就在同一个集群内 brokerClusterNamerocketmq-cluster #broker名字名字一样的节点就是一组主从节点。 brokerNamebroker-a #brokerid,0就表示是Master0的都是表示 Slave brokerId1 #nameServer地址分号分割 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 #是否允许 Broker 自动创建Topic建议线下开启线上关闭 autoCreateTopicEnabletrue deleteWhen04 fileReservedTime120 #存储路径 storePathRootDir/usr/local/rocketmq/storeSlave storePathCommitLog/usr/local/rocketmq/storeSlave/commitlog storePathConsumeQueue/usr/local/rocketmq/storeSlave/consumequeue storePathIndex/usr/local/rocketmq/storeSlave/index storeCheckpoint/usr/local/rocketmq/storeSlave/checkpoint abortFile/usr/local/rocketmq/storeSlave/abort #Broker 的角色 brokerRoleSLAVE flushDiskTypeASYNC_FLUSH #Broker 对外服务的监听端口 listenPort11011 3、在192.168.64.134上配置broker-b修改conf/2m-2s-async/broker-b.properties把原来的注释掉添加如下内容 #所属集群名字名字一样的节点就在同一个集群内 brokerClusterNamerocketmq-cluster #broker名字名字一样的节点就是一组主从节点。 brokerNamebroker-b #brokerid,0就表示是Master0的都是表示 Slave brokerId0 #nameServer地址分号分割 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 #是否允许 Broker 自动创建Topic建议线下开启线上关闭 autoCreateTopicEnabletrue deleteWhen04 fileReservedTime120 #存储路径 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 abortFile/usr/local/rocketmq/store/abort #Broker 的角色 brokerRoleASYNC_MASTER flushDiskTypeASYNC_FLUSH #Broker 对外服务的监听端口 listenPort10911 4、在192.168.64.133上配置broker-b的slave修改conf/2m-2s-async/broker-b-s.properties把原来的注释掉添加如下内容 #所属集群名字名字一样的节点就在同一个集群内 brokerClusterNamerocketmq-cluster #broker名字名字一样的节点就是一组主从节点。 brokerNamebroker-b #brokerid,0就表示是Master0的都是表示 Slave brokerId1 #nameServer地址分号分割 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 #是否允许 Broker 自动创建Topic建议线下开启线上关闭 autoCreateTopicEnabletrue deleteWhen04 fileReservedTime120 #存储路径 storePathRootDir/usr/local/rocketmq/storeSlave storePathCommitLog/usr/local/rocketmq/storeSlave/commitlog storePathConsumeQueue/usr/local/rocketmq/storeSlave/consumequeue storePathIndex/usr/local/rocketmq/storeSlave/index storeCheckpoint/usr/local/rocketmq/storeSlave/checkpoint abortFile/usr/local/rocketmq/storeSlave/abort #Broker 的角色 brokerRoleSLAVE flushDiskTypeASYNC_FLUSH #Broker 对外服务的监听端口 listenPort11011 ​ 这样就完成了2主2从集群的配置。配置过程汇总有几个需要注意的配置项 store开头的一系列配置表示RocketMQ的存盘文件地址。在同一个机器上需要部署多个Broker服务时不同服务的存储目录不能相同。 listenPort表示Broker对外提供服务的端口。这个端口默认是10911。在同一个机器上部署多个Broker服务时不同服务占用的端口也不能相同。 如果你使用的是多网卡的服务器比如阿里云上的云服务器那么就需要在配置文件中增加配置一个brokerIP1属性指向所在机器的外网网卡地址。 第三步启动broker服务 在启动之前还是需要配置jvm参数所有机器都一样 vim bin/runbroker.sh JAVA_OPT${JAVA_OPT} -server -Xms1g -Xmx1g 先启动在192.168.64.133的broker-a和broker-b-s服务 cd /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release nohup bin/mqbroker -c ./conf/2m-2s-async/broker-a.properties nohup bin/mqbroker -c ./conf/2m-2s-async/broker-b-s.properties 再启动192.168.64.134的broker-b和broker-a-s服务 cd /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release nohup bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties nohup bin/mqbroker -c ./conf/2m-2s-async/broker-a-s.properties 第四步检查broker集群状态 bin/mqadmin clusterList 也可以通过rocketmq dashboard查看我之前添加yml启动报错不知道怎么回事欢迎大佬留言解决其实rocketmq dashboard可以这样配置nameserver的地址 rocketmq: config: namesrvAddrs: - 192.168.64.133:9876 - 192.168.64.134:9876- 192.168.64.128:9876 具体查看集群结果就是如图 ​ 在RocketMQ的这种主从架构的集群下客户端发送的消息会分散保存到broker-a和broker-b两个服务上然后每个服务都配有slave服务可以备份对应master服务上的消息这样就可以防止单点故障造成的消息丢失问题。  有个问题就是主节点挂了为了保证数据的完整性不会选举新的主节点因为如果因为网络波动出现脑裂问题很有可能会丢失数据 把broker-b和broker-a-s也就是把192.168.64.134的broker服务停掉看下什么状态操作如下命令 bin/mqshutdown broker 四、升级高可用集群 在Dledger集群中就不再单独指定各个broker的服务而是由这些broker服务自行进行选举产生一个Leader角色的服务响应客户端的各种请求。而其他的broker服务就作为Follower角色负责对Leader上的数据进行备份  Dledger集群的选举是通过Raft协议进行的Raft协议是一种多数同意机制。也就是每次选举需要有集群中超过半数的节点确认才能形成整个集群的共同决定。同时这也意味着在Dledger集群中只要有超过半数的节点能够正常工作那么整个集群就能正常工作。因此在部署Dledger集群时通常都是部署奇数台服务这样可以让集群的容错性达到最大。 还是用之前的机器ip依次是192.168.64.133、192.168.64.134、192.168.64.128 第一步部署nameserver 这一步和之前部署主从集群没有区别不需要做过多的配置直接在三台服务器上启动nameserver服务即可。 第二步对Broker服务进行集群配置 在conf/dledger目录下RocketMQ默认给出了三个配置文件这三个配置文件可以在单机情况下直接部署成一个具有三个broker服务的Dledger集群我们只需要按照这个配置进行修改即可。 注在RocketMQ运行包的bin/dledger目录下RocketMQ还提供了一个fast-try.sh脚本。这个脚本会指定conf/deldger目录下的配置文件直接启动有三个broker服务的Dledger集群。每个集群指定的内存大小占用1G。 在三台机器的conf/dledger目录下都创建一个broker.conf文件对每个broker服务进行配置。 192.168.64.133的broker.conf配置示例 vim /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/conf/dledger/broker.conf # 文件内容如下 brokerClusterName RaftCluster brokerNameRaftNode00 listenPort30911 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 storePathRootDir/usr/local/rocketmq/storeDledger/ storePathCommitLog/usr/local/rocketmq/storeDledger/commitlog storePathConsumeQueue/usr/local/rocketmq/storeDledger/consumequeue storePathIndex/usr/local/rocketmq/storeDledger/index storeCheckpoint/usr/local/rocketmq/storeDledger/checkpoint abortFile/usr/local/rocketmq/storeDledger/abort enableDLegerCommitLogtrue dLegerGroupRaftNode00 dLegerPeersn0-192.168.64.133:40911;n1-192.168.64.134:40911;n2-192.168.64.128:40911 ## must be unique dLegerSelfIdn0 sendMessageThreadPoolNums16 192.168.64.134的broker.conf配置示例 vim /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/conf/dledger/broker.conf # 文件内容如下 brokerClusterName RaftCluster brokerNameRaftNode00 listenPort30911 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 storePathRootDir/usr/local/rocketmq/storeDledger/ storePathCommitLog/usr/local/rocketmq/storeDledger/commitlog storePathConsumeQueue/usr/local/rocketmq/storeDledger/consumequeue storePathIndex/usr/local/rocketmq/storeDledger/index storeCheckpoint/usr/local/rocketmq/storeDledger/checkpoint abortFile/usr/local/rocketmq/storeDledger/abort enableDLegerCommitLogtrue dLegerGroupRaftNode00 dLegerPeersn0-192.168.64.133:40911;n1-192.168.64.134:40911;n2-192.168.64.128:40911 ## must be unique dLegerSelfIdn1 sendMessageThreadPoolNums16 192.168.64.128的broker.conf配置示例 vim /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/conf/dledger/broker.conf # 文件内容如下 brokerClusterName RaftCluster brokerNameRaftNode00 listenPort30911 namesrvAddr192.168.64.133:9876;192.168.64.134:9876;192.168.64.128:9876 storePathRootDir/usr/local/rocketmq/storeDledger/ storePathCommitLog/usr/local/rocketmq/storeDledger/commitlog storePathConsumeQueue/usr/local/rocketmq/storeDledger/consumequeue storePathIndex/usr/local/rocketmq/storeDledger/index storeCheckpoint/usr/local/rocketmq/storeDledger/checkpoint abortFile/usr/local/rocketmq/storeDledger/abort enableDLegerCommitLogtrue dLegerGroupRaftNode00 dLegerPeersn0-192.168.64.133:40911;n1-192.168.64.134:40911;n2-192.168.64.128:40911 ## must be unique dLegerSelfIdn2 sendMessageThreadPoolNums16 这里对几个需要重点关注的配置项做下介绍 enableDLegerCommitLog: 是否启动Dledger。true表示启动 namesrvAddr: 指定nameserver地址 dLedgerGroup: Dledger Raft Group的名字建议跟brokerName保持一致。 dLedgerPeers: Dledger Group内各个服务节点的地址及端口信息。同一个Group内的各个节点配置必须要保持一致。 dLedgerSelfId: Dledger节点ID必须属于dLedgerPeers中的一个。同一个Group内的各个节点必须不能重复。 sendMessageThreadPoolNumsdLedger内部发送消息的线程数建议配置成cpu核心数。 store开头的一系列配置 这些是配置dLedger集群的消息存盘目录。如果你是从主从架构升级成为dLedger架构那么这个地址可以指向之前搭建住主从架构的地址。dLedger集群会兼容主从架构集群的消息格式只不过主从架构的消息无法享受dLedger集群的两阶段同步功能。 第三步启动broker服务 和启动主从架构的broker服务一样我们只需要在启动broker服务时指定配置文件即可。在三台服务器上分别执行以下指令启动broker服务 cd /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release nohup bin/mqbroker -c conf/dledger/broker.conf 第四步检查集群服务状态 通过rocketmq dashboard查看 停掉192.168.64.128之后的dashboard 不能停了再停宕机超过半数只剩一台就无法选举产生新的master
http://www.tj-hxxt.cn/news/224962.html

相关文章:

  • 专业集团门户网站建设企业应用商店app下载安装
  • 公司网站自己可做吗wordpress 用户导入
  • 哪个网站的理财频道做的比较好厦门市翔安区建设局网站
  • 南宁电商网站建设有哪些是做二手的网站
  • 云空间提供网站成都开发小程序的公司
  • 蓝色网站模版廊坊网站建设廊坊网络公司驻梦
  • 罗湖建设网站全网营销推广服务
  • 做代收水果是什么网站如何更好的建设和维护网站
  • 商业网站是怎么做的企业局域网组建与网站建设
  • 查询建设公司业绩网站网站建设课程的感受
  • 深圳wap网站建设店铺设计分析
  • 网站建设口号网站建设公司2018
  • 贵州省住房和城乡建设厅官网站app制作二维码
  • 唐汉网站建设公司网站制作可以使用开源系统吗
  • 网站开发静态和动态用cdr做网站设计尺寸要多少
  • 擦边球网站怎么建设食品网站的建设背景
  • 做公司网站联系公司wordpress从入门到精通pdf
  • 酒店网站html模板iis做的网站模板
  • 公司网站建设需要哪些内容十大门户网站
  • 青岛开发区做网站四川成都百度推广
  • 网站建设公司的公司哪家好网站建设工作汇报
  • 备案主体负责人 网站负责人宿州市住房 建设 官方网站
  • 自助搜优惠券网站怎么做的郑州 科技有限公司 网站建设
  • 竞价托管公司排名常用的seo查询工具
  • 广州十度网络网站开发最好做交通分析的网站
  • 正规做兼职的网站易语言怎么制作网站
  • 杭州网站建设网台州seo排名外包
  • 2网站制作策划方案免费网站
  • 阿里云网站建设流程南通seo网站诊断
  • 一箭天网络推广关键字排名优化工具