背景:keepalived默认是组播地址进行播放,且默认地址是224.0.0.18,如果配置多个keepalived主机,会导致虚拟IP地址存在冲突问题,这种问题怎么解决呢?

解决办法:就是将keepalived主机的多播地址修改为单播地址,绑定固定IP地址,避免在多播模式下,通过VRRP进行广播地址,造成IP地址地址冲突。

vrrp_strict   #严格遵守VRRP协议,不允许状况,在配置单播IP地址时,此行需要删除或者注释掉即可。

1、没有VIP地址

2、单播邻居

3、在VRRP版本2中有IPv6地址

实验一:实现keepalived单播地址配置

1、在主节点配置keepalived文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@centos_17~]#vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka1
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 50
    priority 100
    unicast_src_ip 192.168.37.17  配置源地址的IP地址
    unicast_peer {
       192.168.37.7  配置从节点的目标IP地址
    }
    advert_int 2
    authentication {
        auth_type pass
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}

 配置完成之后重启keepalived:

1
[root@centos_17~]#systemctl restart keepalived

2、在从节点配置keepalived文件  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[root@centos7~]#vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka2
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 50
    priority 80
    unicast_src_ip 192.168.37.7
    unicast_peer {
       192.168.37.17
        }
    advert_int 2
    authentication {
        auth_type pass
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}

 配置完成之后重启keepalived: 

1
[root@centos_17~]#systemctl restart keepalived

3、验证锁单播IP地址效果。

此时由于绑定了双方keepalived主机的IP地址,就只会对双方进行广播,避免多个keepalived的虚拟IP地址进行冲突。

实验二:实现非抢占模式漂移VIP

原理:关闭VIP抢占模式,需要VIP state都为BACKUP,此时哪个keepalived的优先级大,优先占用哪个keepalived服务器,当此占用的服务器宕机后,另一个BACKUP主机才会进行占用,就算优先级高的恢复了,也不能进行抢占,除非优先级低的服务器宕机后,才会继续占用到高优先级的keepalived服务器上。

1、在优先级高的keepalived主机进行配置

 vim   /etc/keepalived/keepalived.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka1
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state BACKUP  角色必须是BACKUP
    interface ens33
    virtual_router_id 50
    priority 100
    unicast_src_ip 192.168.37.17
    unicast_peer {
       192.168.37.7
    }
    advert_int 2
    nopreempt  设置为非抢占模式
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}

2、在优先级低的keepalived主机配置

 vim   /etc/keepalived/keepalived.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka2
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state BACKUP   角色必须是BACKUP
    interface ens33
    virtual_router_id 60
    priority 80
    unicast_src_ip 192.168.37.7
    unicast_peer {
       192.168.37.17
    }
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}

测试效果:

此时手动将keepalived主机优先级高的进行宕机,VIP就会漂移到优先级低的主机上。

1
[root@centos_17~]#systemctl stop keepalived

 此时查看优先级低的主机IP地址情况:

 此时就算高优先级的主机恢复,也无法抢占VIP地址,此时需要宕机优先级低的主机才会占用VIP地址。

  启动优先级高的主机:systemctl start keepalived

  停掉优先级低的主机:systemctl stop keepalived

实战三:实现两个以上的Keepalived主机

 背景:当公司需求量较大时,两个keepalived已经不能满足公司需求,此时需要配置两台以上的keepalived,应该怎么配置?

 实现方法如下:

1、在A主机配置keepalived

  vim   /etc/keepalived/keepalived.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka1
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state MASTER  主节点服务器
    interface ens33
    virtual_router_id 60
    priority 100   优先级为100
    unicast_src_ip 192.168.37.7  绑定单播地址,防止IP地址与其他keepalived地址冲突
    unicast_peer {
       192.168.37.17   目标keepalived主机IP地址
       192.168.37.27   目标keepalived主机IP地址                                                                                                                         
    }
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1  添加VIP地址,也可以多添加几个地址
    }
}

2、在B主机配置keepalived  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka1
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state BACKUP  从节点服务器
    interface ens33
    virtual_router_id 50
    priority 80 优先级为80
    unicast_src_ip 192.168.37.17   绑定单播地址,源keepalived的IP地址
    unicast_peer {
       192.168.37.7   两个目标的keepalived的IP地址
       192.168.37.27
    }
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}

3、在C主机配置keepalived  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka1
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state BACKUP   从节点服务器
    interface ens33
    virtual_router_id 50
    priority 60  优先级为60,要比前两个的主机优先级都要低
    unicast_src_ip 192.168.37.27  绑定单播地址,源地址
    unicast_peer {
       192.168.37.7  两个keepalived的目标地址
       192.168.37.17
    }  
    advert_int 2
    authentication {                                                                                                                            
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}

测试效果:  

将A主机的keepalived宕机,可以观察此时的B主机成为MASTER主机,VIP地址就会漂移到B主机上。  

当B主机的keepalived也宕机之后,此时的VIP就会漂移到C主机从节点的keepalived服务器上

  同理:当优先级高的keepalived服务器恢复后,VIP地址就又会漂移回去。

实战四:实现TCP模式keepalived及LVS-DR模式高可用(此用法多于HTTP用法)

 参数含义:

1
2
3
4
5
6
7
8
9
10
11
12
13
delay_loop<INT>:检查后端服务器的时间间隔
lb_algorr|wrr|lc|wlc|lblc|sh|dh:定义调度方法
lb_kindNAT|DR|TUN:集群的类型
persistence_timeout<INT>:持久连接时长
protocol TCP|UDP|SCTP:指定服务协议
sorry_server<IPADDR> <PORT>:所有RS故障时,备用服务器地址
real_server<IPADDR> <PORT>
{
weight <INT> RS权重
notify_up<STRING>|<QUOTED-STRING> RS上线通知脚本
notify_down<STRING>|<QUOTED-STRING> RS下线通知脚本
HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHEC K { ... }:定义当前主机的健康状态检测方法
}

 HTTP监测含义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
HTTP_GET|SSL_GET:应用层检测
HTTP_GET|SSL_GET {
url{
path <URL_PATH>:定义要监控的URL
status_code<INT>:判断上述检测机制为健康状态的响应码
}
connect_timeout<INTEGER>:连接请求的超时时长
nb_get_retry<INT>:重试次数
delay_before_retry<INT>:重试之前的延迟时长
connect_ip<IP ADDRESS>:向当前RS哪个IP地址发起健康状态检测请求
connect_port<PORT>:向当前RS的哪个PORT发起健康状态检测请求
bindto<IP ADDRESS>:发出健康状态检测请求时使用的源地址
bind_port<PORT>:发出健康状态检测请求时使用的源端口
}

TCP监测

传输层检测TCP_CHECK

1
2
3
4
5
6
7
TCP_CHECK {
connect_ip<IP ADDRESS>:向当前RS的哪个IP地址发起健康状态检测请求
connect_port<PORT>:向当前RS的哪个PORT发起健康状态检测请求
bindto<IP ADDRESS>:发出健康状态检测请求时使用的源地址
bind_port<PORT>:发出健康状态检测请求时使用的源端口
connect_timeout<INTEGER>:连接请求的超时时长
}

1、在A主机修改keepalived配置文件

vim  /etc/keepalived/keepalived.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka2
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state MASTER
    interface ens33
    virtual_router_id 50
    priority 100
    unicast_src_ip 192.168.37.7
    unicast_peer {
       192.168.37.17
    }
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}
 
include  /etc/keepalived/conf/*.conf   定义一个单独管理的目录,定义keepalived配置文件

在A主机定义LVS-DR模式配置文件

如果后期keepalived的配置文件修改过大,我们可以调用include,新建一个目录,并在此目录下进行存放配置文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@centos7keepalived]#mkdir conf
[root@centos7keepalived]#vim conf/tcp.conf
virtual_server 192.168.37.100 80 {     VIP地址                                                                                                         
        delay_loop 6
        lb_algo wrr  权重轮询
        lb_kind DR   DR模式
        protocol TCP
        sorry_server 192.168.37.47  80  配置后端sorry服务器,当两个keepalived主机都宕机之后,就在此主机进行显示信息。
 
   real_server 192.168.37.27 80 {  后端RS1服务器IP地址
        weight 1
        TCP_CHECK {
        connect_timeout 5
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
   }
 
   real_server 192.168.37.37 80 {  后端RS2服务器
        weight 1
        TCP_CHECK {
        connect_timeout 5
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
}

2、在B主机修改keepalived配置文件 

 vim  /etc/keepalived/keepalived.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
global_defs {
   notification_email {
     root@localhost.com
   }
   notification_email_from root@localhost.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id ka1
   vrrp_skip_check_adv_addr
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
 
vrrp_instance VIP_1 {
    state BACKUP
    interface ens33
    virtual_router_id 50
    priority 80
    unicast_src_ip 192.168.37.17
    unicast_peer {
       192.168.37.7
    }
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.37.100 dev ens33 label ens33:1
    }
}
 
include  /etc/keepalived/conf/*.conf

在B主机定义LVS-DR模式的配置文件 

新建conf目录,并在此目录下新建一个配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@centos_17keepalived]#mkdir conf
[root@centos_17keepalived]#vim conf/tcp.conf
virtual_server 192.168.37.100 80 {
        delay_loop 6
        lb_algo wrr
        lb_kind DR
        protocol TCP
        sorry_server 192.168.37.47  80  定义sorry server的后端主机,当两个keepalived主机宕机后,就会提示此信息。
 
   real_server 192.168.37.27 80 {
        weight 1
        TCP_CHECK {
        connect_timeout 5
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
   }
 
   real_server 192.168.37.37 80 {
        weight 1
        TCP_CHECK {
        connect_timeout 5
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
}

3、后端服务器RS1上修改配置  

在RS1绑定VIP地址及lo回环网卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[root@centos27~]#vim lvs_dr_rs.sh
#!/bin/bash
#Author:wangxiaochun
#Date:2017-08-13                                                                                                                                
vip=192.168.37.100   绑定VIP地址
mask='255.255.255.255'
dev=lo:1  绑定在lo回环网卡上
rpm -q httpd &> /dev/null || yum -y install httpd &>/dev/null
service httpd start &> /dev/null && echo "The httpd Server is Ready!"
echo "<h1>`hostname`</h1>" > /var/www/html/index.html
 
case $1 in
start)
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    ifconfig $dev $vip netmask $mask #broadcast $vip up
    #route add -host $vip dev $dev
    echo "The RS Server is Ready!"
    ;;
stop)
    ifconfig $dev down
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "The RS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

执行脚本:

1
[root@centos27~]#bash lvs_dr_rs.sh  start

4、在RS2后端服务器上修改配置  

修改RS2的配置脚本,绑定VIP地址及lo回环网卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
#Author:wangxiaochun
#Date:2017-08-13
vip=192.168.37.100                                                                                                                              
mask='255.255.255.255'
dev=lo:1
rpm -q httpd &> /dev/null || yum -y install httpd &>/dev/null
service httpd start &> /dev/null && echo "The httpd Server is Ready!"
echo "<h1>`hostname`</h1>" > /var/www/html/index.html
 
case $1 in
start)
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    ifconfig $dev $vip netmask $mask #broadcast $vip up
    #route add -host $vip dev $dev
    echo "The RS Server is Ready!"
    ;;
stop)
    ifconfig $dev down
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "The RS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

执行以上脚本

1
[root@centos37~]#bash lvs_dr_rs.sh  start

4、在sorry后端服务器上修改配置  

修改sorry后端服务器配置脚本,绑定VIP地址及lo回环网卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
#Author:wangxiaochun
#Date:2017-08-13
vip=192.168.37.100                                                                                                                              
mask='255.255.255.255'
dev=lo:1
rpm -q httpd &> /dev/null || yum -y install httpd &>/dev/null
service httpd start &> /dev/null && echo "The httpd Server is Ready!"
echo "<h1>`hostname`</h1>" > /var/www/html/index.html
 
case $1 in
start)
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    ifconfig $dev $vip netmask $mask #broadcast $vip up
    #route add -host $vip dev $dev
    echo "The RS Server is Ready!"
    ;;
stop)
    ifconfig $dev down
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "The RS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

执行以上脚本

1
[root@centos47~]#bash lvs_dr_rs.sh  start

5、测试效果: 

将RS1和RS2及sorry后端服务器添加测试页面,并启动httpd服务:systemctl  start httpd

1
2
3
4
5
6
7
8
[root@cenots277~]#yum install httpd
[root@cenots27~]#cd /var/www/html
[root@cenots27html]#cat index.html
<h1>cenots27</h1>
[root@cenots37html]#cat index.html
<h1>cenots37</h1>
[root@cenots37html]#cat index.html
sorry server !!

客户端访问LVS的VIP地址,此时LVS将调度到后端服务器,进行轮询访问。

当后端RS1和RS2后端服务器宕机后,此时就会显示sorry server信息。

  

 类: LVS负载均衡及Keepalived

https://www.cnblogs.com/struggle-1216/p/12098241.html

keepalived绑定单播地址、非抢占模式及LVS的TCP模式的高可用的更多相关文章

  1. Keepalived+LVS实现LNMP网站的高可用部署

    Keepalived+LVS实现LNMP网站的高可用部署   项目需求   当我们访问某个网站的时候可以在浏览器中输入IP或者域名链接到Web Server进行访问,如果这个Web Server挂了, ...

  2. Keepalived+LVS+Nginx负载均衡之高可用

    Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...

  3. Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用

    上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...

  4. LVS负载均衡+动静分离+高可用(nginx+tomcat+keepalived)

    文章目录 [隐藏] 一.环境介绍 二.环境安装 1.安装JDK 2.两台服务器安装tomcat 3.nginx安装 4.keepalive安装 三.负载均衡 四.动静分离 五.keepalive高可用 ...

  5. DR模式下的高可用的LVS(LVS+keepalived)

    一.keepalived 在DR模式下,使用Keepalived实现LVS的高可用.Keepalived的作用是检测服务器的状态,如果有一台web服务器 宕机,或工作出现故障,Keepalived将检 ...

  6. keepalived实现nginx反向代理的高可用

    实现keepalived调用脚本进行资源监控 keepalived调用外部的辅助脚本进行资源监控,并根据监控的结果状态能实现优先动态调整 vrrp_script:自定义资源监控脚本,vrrp实例根据脚 ...

  7. 企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇

    1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实 ...

  8. LVS+Keepalived实现DBProxy的高可用

    背景 在上一篇文章美团点评DBProxy读写分离使用说明实现了读写分离,但在最后提了二个问题:一是代理不管MySQL主从的复制状态,二是DBProxy本身是一个单点的存在.对于第一个可以通过自己定义的 ...

  9. keepalived高可用集群。

    keepalived故障切换转移原理1vrrp协议:(vritual router redundancy protocol)虚拟路由冗余协议,2故障转移.keepalived三大功能1实现物理高可用, ...

随机推荐

  1. Python数据分析入门(十):数据清洗和准备

    数据清洗是数据分析关键的一步,直接影响之后的处理工作 数据需要修改吗?有什么需要修改的吗?数据应该怎么调整才能适用于接下来的分析和挖掘? 是一个迭代的过程,实际项目中可能需要不止一次地执行这些清洗操作 ...

  2. 仿VUE创建响应式数据

    VUE对于前端开发人员都非常熟悉了,其工作原理估计也都能说的清个大概,具体代码的实现估计看的人不会太多,这里对vue响应式数据做个简单的实现. 先简单介绍一下VUE数据响应原理,VUE响应数据分为对象 ...

  3. 零基础学Java,PayPal技术专家手把手带你入门

    在最权威的 TIOBE 编程语言排名榜单上,Java 常年稳居第一,可以说是世界上应用最为广泛的一门语言. 同时,在微服务.云计算.大数据.Android App 开发等领域,Java 也是当之无愧的 ...

  4. [开源]制作docker镜像不依赖linux和Docker环境

    背景 最近群友们经常反馈docker镜像制作起来有点麻烦,我开源的antdeploy工具虽然可以制作镜像但是必须有一个提前:有一台安装好docker的linux服务器.因为大家开发环境基本上都是win ...

  5. Ambassador-05-自动重试

    自动重试定义: retry_policy: retry_on: <string> num_retries: <integer> per_try_timeout: <str ...

  6. Day06_27_多态

    多态 最关键一句话: 父类引用 指向(=) 子类对象 Animal a = new Cat(); 什么是多态? 官方说: 接口的多种不同的实现方式即为多态. 多态性是允许你将父对象设置成为一个或更多的 ...

  7. ASP.NET Core扩展库之Http请求模拟

    如今,完全独立的业务应用几乎不存在,不管是在企业内部微服务之间的调用,还是与外部第三方服务的调用,Http的API交互是常见的场景,这些实际情况给我们的开发带来了比较大的挑战,一是第三方服务可能会牵制 ...

  8. 图解Leetcode组合总和系列——回溯(剪枝优化)+动态规划

    Leetcode组合总和系列--回溯(剪枝优化)+动态规划 组合总和 I 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 ...

  9. 【OO课下讨论】bug中的“二八定律”

    bug中的"二八定律" 本文主要为讨论2020/3/17下午OO课讨论的第三个思考题设立 有一个经典的经验性原则,叫帕累托原则,也称为二八定律.这个原则在经济.社会和科技等多个领域 ...

  10. 【Scrapy(四)】scrapy 分页爬取以及xapth使用小技巧

    scrapy 分页爬取以及xapth使用小技巧 这里以爬取www.javaquan.com为例: 1.构建出下一页的url: 很显然通过dom树,可以发现下一页所在的a标签   2.使用scrapy的 ...