免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)( 四 )

154配置
! Configuration File for keepalivedglobal_defs {router_id haproxyks##標(biāo)識節(jié)點的字符串 , 通常為hostname}vrrp_script chk_haproxy {script "/etc/keepalived/haproxy_check.sh"##執(zhí)行腳本位置interval 2##檢測時間間隔weight -20##如果條件成立則權(quán)重減20}vrrp_instance VI_1 {state BACKUP## 主節(jié)點為MASTER , 備份節(jié)點為BACKUPinterface ens33 ## 綁定虛擬IP的網(wǎng)絡(luò)接口(網(wǎng)卡) , 與本機(jī)IP地址所在的網(wǎng)絡(luò)接口相同(我這里是eth0)virtual_router_id 74## 虛擬路由ID號(主備節(jié)點一定要相同)mcast_src_ip 192.168.247.154 ## 本機(jī)ip地址priority 80##優(yōu)先級配置(0-254的值)nopreemptadvert_int 1## 組播信息發(fā)送間隔 , 倆個節(jié)點必須配置一致 , 默認(rèn)1sauthentication {## 認(rèn)證匹配auth_type PASSauth_pass bhz}track_script {chk_haproxy}virtual_ipaddress {192.168.247.160## 虛擬ip , 可以指定多個}}編寫自動檢測腳本touch /etc/keepalived/haproxy_check.shchmod +x /etc/keepalived/haproxy_check.shvi /etc/keepalived/haproxy_check.sh腳本內(nèi)容
#!/bin/bashCOUNT=`ps -C haproxy --no-header |wc -l`if [ $COUNT -eq 0 ];then/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfgsleep 2if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];thenkillall keepalivedfifi啟動# 記得先啟動haproxy, 再啟動Keepalived/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg# 查看進(jìn)程ps -ef | grep haproxy# 將Keepalived注冊為系統(tǒng)服務(wù)cd /home/software/keepalived-2.0.18/keepalived/etc/cp init.d/keepalived /etc/init.d/cp sysconfig/keepalived /etc/sysconfig/systemctl daemon-reload# 啟動Keepalivedsystemctl [start | stop | status | restart] keepalivedsystemctl start keepalived.servicesystemctl stop keepalived.service# 查看服務(wù)ps -ef|grep keepalived高可用測試

18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)

文章插圖
160默認(rèn)在153主Keepalived上
節(jié)點宕機(jī)測試停止153上的keepalived
18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)

文章插圖
查看153 ip
18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)

文章插圖
160的vip已經(jīng)不再了, 查看154
18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)

文章插圖
已經(jīng)自動綁定154了, 重啟153
18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)

文章插圖

18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊列+HaProxy+Keepalived高可用架構(gòu)

文章插圖
重啟后160重新漂移回153上, 高可用測試ok
隊列功能代碼測試直接使用最簡單的hello world程序測試, IP使用虛擬的VIP 160
消費(fèi)者
package com.dance.redis.mq.rabbit.helloworld;import com.rabbitmq.client.*;import java.io.IOException;import java.util.concurrent.TimeUnit;import java.util.concurrent.TimeoutException;public class Receiver {private static final String QUEUE_NAME = "queue-test";private static final String IP_ADDRESS = "192.168.247.160";private static final int PORT = 5672;public static void main(String[] args) throws IOException, TimeoutException,InterruptedException {Address[] address = new Address[]{new Address(IP_ADDRESS, PORT)};ConnectionFactory factory = new ConnectionFactory();factory.setUsername("toor");factory.setPassword("123456");// 這里的連接方式與生產(chǎn)者的demo略有不同 , 注意區(qū)別 。Connection connection = factory.newConnection(address); //創(chuàng)建連接final Channel channel = connection.createChannel();//創(chuàng)建信道channel.basicQos(64);//設(shè)置客戶端最多接收未被ack的消息個數(shù)Consumer consumer = new DefaultConsumer(channel) {@Overridepublic void handleDelivery(String consumerTag,Envelope envelope,AMQP.BasicProperties properties,byte[] body)throws IOException {System.out.println("recvive message:" + new String(body));try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}channel.basicAck(envelope.getDeliveryTag(), false);}};channel.basicConsume(QUEUE_NAME, consumer);//等待回調(diào)函數(shù)執(zhí)行完畢之后 , 關(guān)閉資源 。TimeUnit.SECONDS.sleep(50);channel.close();connection.close();}}

經(jīng)驗總結(jié)擴(kuò)展閱讀