keepalived vrrp script|interface weight when positive,nagtive,zero vrrp's status transition
这张图表明了track interface或track script的weight在大于0, 小于0, 等于0这三种状态下, 对VRRP的影响.
vi /root/pos.sh
#!/bin/bash
res=$(cat /root/pos.var)
exit $resvi /root/pos.var
0chmod 500 /root/pos.shvi /root/nag.sh
#!/bin/bash
res=$(cat /root/nag.var)
exit $resvi /root/nag.var
0chmod 500 /root/nag.shvi /root/zero.sh
#!/bin/bash
res=$(cat /root/zero.var)
exit $resvi /root/zero.var
0chmod 500 /root/zero.sh
[root@192_168_173_204 ~]# cd /opt/keepalived/etc/keepalived/
[root@192_168_173_204 keepalived]# cat keepalived.conf
! Configuration File for keepalived !号或#号开头为注释global_defs { # 全局配置除了router_id, 其他都无所谓, 因为我这里的测试只是观察script weight对vrrp的影响.notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id DIGOAL_TEST # 两个节点一致
}vrrp_script pos { # 脚本配置 script "/root/pos.sh"interval 1weight 0 # 配置默认weight 0, 后面可以在instance中覆盖fall 1 # 从OK到KO需要1次检测失败.rise 1 # 从KO到OK需要1次检测成功.
}vrrp_script nag { # 脚本配置 script "/root/nag.sh"interval 1weight 0 # 配置默认weight 0, 后面可以在instance中覆盖fall 1 # 从OK到KO需要1次检测失败.rise 1 # 从KO到OK需要1次检测成功.
}vrrp_script zero { # 脚本配置 script "/root/zero.sh"interval 1weight 0 # 配置默认weight 0, 后面可以在instance中覆盖fall 1 # 从OK到KO需要1次检测失败.rise 1 # 从KO到OK需要1次检测成功.
}vrrp_instance vi_1 {state MASTER # 初始状态interface eth0virtual_router_id 51priority 99 # 初始优先级, 注意两个节点配置要不一样. 一高一低, 高的选举为master.advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {pos weight 3zero weight 0nag weight -5}unicast_peer { # 使用多播代替组播发送vrrp心跳.192.168.173.203192.168.173.204}virtual_ipaddress { # 虚拟地址配置, 和ifconfig兼容172.16.173.100/24 brd 172.16.173.255 dev eth0 scope link label eth0:1}debug # 打开debug, 方便调试, 本例没有用到
}
[root@192_168_173_204 ~]# keepalived -f /opt/keepalived/etc/keepalived/keepalived.conf -D
查看日志
/var/log/messages
Aug 20 16:32:43 192_168_173_204 Keepalived[5920]: Starting Keepalived v1.2.13 (08/19,2014)
Aug 20 16:32:43 192_168_173_204 Keepalived[5921]: Starting Healthcheck child process, pid=5922
Aug 20 16:32:43 192_168_173_204 Keepalived[5921]: Starting VRRP child process, pid=5923
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Netlink reflector reports IP 192.168.173.204 added
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Netlink reflector reports IP fe80::f6ce:46ff:fe85:15fc added
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Registering Kernel netlink reflector
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 192.168.173.204 added
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Registering Kernel netlink command channel
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Registering gratuitous ARP shared channel
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP fe80::f6ce:46ff:fe85:15fc added
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Registering Kernel netlink reflector
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Registering Kernel netlink command channel
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Opening file '/opt/keepalived/etc/keepalived/keepalived.conf'.
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Opening file '/opt/keepalived/etc/keepalived/keepalived.conf'.
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Configuration is using : 7935 Bytes
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Configuration is using : 69309 Bytes
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: Using LinkWatch kernel netlink reflector...
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: VRRP sockpool: [ifindex(2), proto(112), unicast(1), fd(10,11)]
Aug 20 16:32:43 192_168_173_204 Keepalived_healthcheckers[5922]: Using LinkWatch kernel netlink reflector...
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Script(pos) succeeded
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Script(zero) succeeded
Aug 20 16:32:43 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Script(nag) succeeded
Aug 20 16:32:44 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:32:45 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:32:45 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:32:45 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:32:45 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 16:32:50 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
通过ifconfig可以看到虚拟IP已经起来了
eth0:1 Link encap:Ethernet HWaddr F4:CE:46:85:15:FC inet addr:172.16.173.100 Bcast:172.16.173.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
[root@192_168_173_203 ~]# keepalived -f /opt/keepalived/etc/keepalived/keepalived.conf -D
查看日志
Aug 20 16:38:28 192_168_173_203 Keepalived[23107]: Starting Keepalived v1.2.13 (08/19,2014)
Aug 20 16:38:28 192_168_173_203 Keepalived[23108]: Starting Healthcheck child process, pid=23109
Aug 20 16:38:28 192_168_173_203 Keepalived[23108]: Starting VRRP child process, pid=23110
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Netlink reflector reports IP 192.168.173.203 added
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Netlink reflector reports IP 192.168.173.203 added
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Netlink reflector reports IP 192.168.173.156 added
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Netlink reflector reports IP 192.168.173.156 added
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Netlink reflector reports IP fe80::f6ce:46ff:fe86:4234 added
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Netlink reflector reports IP fe80::f6ce:46ff:fe86:4234 added
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Registering Kernel netlink reflector
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Registering Kernel netlink reflector
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Registering Kernel netlink command channel
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Registering Kernel netlink command channel
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Registering gratuitous ARP shared channel
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Opening file '/opt/keepalived/etc/keepalived/keepalived.conf'.
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Opening file '/opt/keepalived/etc/keepalived/keepalived.conf'.
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Configuration is using : 7937 Bytes
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Configuration is using : 69311 Bytes
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: Using LinkWatch kernel netlink reflector...
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: VRRP sockpool: [ifindex(2), proto(112), unicast(1), fd(10,11)]
Aug 20 16:38:28 192_168_173_203 Keepalived_healthcheckers[23109]: Using LinkWatch kernel netlink reflector...
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Script(nag) succeeded
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Script(zero) succeeded
Aug 20 16:38:28 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Script(pos) succeeded
初始设置为MASTER, 所以有选举的过程, 但是刚起来的时候脚本还没开始检查, 优先级是100, 所以选举中变成了backup角色.
Aug 20 16:38:29 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:38:29 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Received higher prio advert
Aug 20 16:38:29 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Entering BACKUP STATE
Aug 20 16:38:30 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:38:30 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:38:31 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:38:32 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:38:32 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:38:32 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:38:32 192_168_173_203 Keepalived_healthcheckers[23109]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 16:38:37 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
查看192.168.173.204节点的日志, 选举为BACKUP后, 移除了虚拟IP.
Aug 20 16:38:08 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:38:09 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:38:09 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:38:09 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 16:38:09 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:38:14 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:38:29 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Received lower prio advert, forcing new election
Aug 20 16:38:29 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:38:29 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Received lower prio advert, forcing new election
Aug 20 16:38:29 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:38:30 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Received higher prio advert
Aug 20 16:38:30 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering BACKUP STATE
Aug 20 16:38:30 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) removing protocol VIPs.
Aug 20 16:38:30 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 removed
现在我们把192.168.173.203的pos.var改成1, 那么将降回初始优先级100. 比192.168.173.204的优先级102要低.
[root@192_168_173_203 ~]# echo 1 > /root/pos.var
我们在192.168.173.204节点可以看到它重新选举变成了MASTER
Aug 20 16:44:43 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:44:43 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:44:44 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:44:45 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:44:45 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:44:45 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:44:45 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 16:44:50 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
接下来在192.168.173.204测试一下nag.sh脚本, 把nag.var改成1. 那么nag.sh将返回1, 也就是失败. 优先级需要减5. 变成102-5=97, vrrp重新选举的话, 变成BACKUP.
[root@192_168_173_204 ~]# echo 1 > /root/nag.var
我们在192.168.173.203上可以看到它选举变成了master.
Aug 20 16:48:04 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:48:04 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:48:05 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:48:06 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:48:06 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:48:06 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:48:06 192_168_173_203 Keepalived_healthcheckers[23109]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 16:48:11 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
现在的优先级构成如下 :
192.168.173.203 MASTER
base=100
pos.sh failed +0
zero.sh success
nag.sh success -0
最终优先级: 100192.168.173.204 BACKUP
base=99
pos.sh success + 3
zero.sh success
nag.sh failed -5
最终优先级: 97
接下来把192.168.173.203的nag.sh弄成failed, 那么将再次减5, 变成95. 选举将变成BACKUP.
[root@192_168_173_203 ~]# echo 1 > /root/nag.var
可以看到192.168.173.204变成MASTER了.
Aug 20 16:52:29 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:52:29 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) forcing a new MASTER election
Aug 20 16:52:30 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:52:31 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:52:31 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:52:31 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:52:31 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 added
最后测试一下zero脚本对状态的影响, 前面我们看到的nag.sh和pos.sh都只改变优先级, 不会直接对状态造成影响, 而是在选举的过程中简介的对状态造成的影响.
[root@192_168_173_204 ~]# echo 1 >/root/zero.var
查看日志 :
Aug 20 16:54:49 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Script(zero) failed
Aug 20 16:54:50 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering FAULT STATE
Aug 20 16:54:50 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) removing protocol VIPs.
Aug 20 16:54:50 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 removed
Aug 20 16:54:50 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Now in FAULT state
192.168.173.203变成了唯一的状态正常的主机, 所以理所当然就是MASTER了.
Aug 20 16:54:50 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 16:54:51 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 16:54:51 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 16:54:51 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 16:54:51 192_168_173_203 Keepalived_healthcheckers[23109]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 16:54:56 192_168_173_203 Keepalived_vrrp[23110]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 17:02:05 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Script(zero) succeeded
Aug 20 17:02:06 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) prio is higher than received advert
Aug 20 17:02:06 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Transition to MASTER STATE
Aug 20 17:02:06 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Received lower prio advert, forcing new election
Aug 20 17:02:07 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Entering MASTER STATE
Aug 20 17:02:07 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) setting protocol VIPs.
Aug 20 17:02:07 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
Aug 20 17:02:07 192_168_173_204 Keepalived_healthcheckers[5922]: Netlink reflector reports IP 172.16.173.100 added
Aug 20 17:02:12 192_168_173_204 Keepalived_vrrp[5923]: VRRP_Instance(vi_1) Sending gratuitous ARPs on eth0 for 172.16.173.100
[参考]
keepalived vrrp script|interface weight when positive,nagtive,zero vrrp's status transition相关推荐
- keepalived track script introduce
前面简单的介绍了一下keepalived track script | interface weight & instance priority & election的关系, htt ...
- eNSP第五篇扩展1:vrrp over nqa,nqa探测,双重vrrp监听方法1,vrrp与nqa结合
vrrp over nqa 相信学习到这里的同学,已经不需求我在这里为大家讲解nqa到底是怎么一个技术,本篇着重讲述nqa和vrrp联合的一个工作场景是这样的: nqa与vrrp结合适合的最独特的场景 ...
- VRRP(出现背景、工作原理、VRRP报文)
VRRP VRRP出现的背景 VRRP工作原理 VRRP报文 VRRP出现的背景 如图所示:几台主机只有一台路由器转发数据,当出现故障后,所有主机都将连不上网.设想一下这种情况如果发生在某家公司内部, ...
- 安装python模块时出现:error: Setup script exited with error: command 'gcc' failed with exit status 1...
通过安装如下库即可解决: sudo apt-get install python-dev
- Keepalived v1.3.5 高可用配置参数总结
Keepalived v1.3.5 高可用配置参数总结 前言 官网介绍 gratuitous ARP包 VRRP包 VRRP实例 1 全局配置 1.1 全局定义(global_defs ) 1.2 静 ...
- vrrp协议与keepalived浅析
文章目录 一.Vrrp协议 1.VRRP 协议简介 vrrp: Virtual Redundent Routing Protocol 虚拟冗余路由协议 在现实的网络环境中两台需要通信的主机大多数情 ...
- keepalived详解 结合lvs
Keepalived原理与实战精讲 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点 ...
- keepalived高可用集群。
keepalived故障切换转移原理 1vrrp协议:(vritual router redundancy protocol)虚拟路由冗余协议, 2故障转移. keepalived三大功能 1实现物理 ...
- ngnix+keepalived 实现N主高可用负载均衡web群集
ngnix+keepalived 实现N主高可用负载均衡web群集 思路: 总结一下最近学习的nginx+keepalived 的负载均衡架构,发现linux的群集系统都是负载均衡层加服务器群组层,实 ...
最新文章
- 程序员保值的5个秘密
- 数据存储之 SQLite 数据库操作(二)
- 数据结构——图——最短路径DF算法
- python爬取方式_Python 爬虫入门(三)—— 寻找合适的爬取策略
- 【python】python 中的三元表达式(三目运算符)
- 最长不下降子序列 (O(nlogn)算法)
- phpwindexp.php,phpwind Exp 漏洞利用
- POI读取word文件,(支持HSSF和XSSF两种方式)
- 南加州大学等开源元学习研究库learn2learn
- java解决跨域 多个号_java-解决跨域问题
- (秒杀项目) 4.10 项目面试项目常见问题
- 双目视觉图像的色彩调整
- 51单片机定时器实现PWM波
- 微信小程序地图点聚合
- Linux部署-elasticsearch7.6.1
- 如何在MSDN上获取Win7镜像
- 一个bug改了3个礼拜
- python全局代理_Python3 中代理使用方法总结
- Opencv3.0-python: 编译报错color.cpp:7456: error: (-215) scn == 3
- 宇视网络视频录像机通道名称如何设置
热门文章
- php key sort,PHP中的sort(), rsort(),asort(),arsort(),ksort(),krsort()函数
- php基础编程教程 pdf,手把手教你编程打印出PDF_PHP教程
- 桩筏有限元中的弹性板计算_PKPM2010年11月结构技术问题汇总
- python中的cv2模块能否保存图像的地理坐标信息_Python中plt.plot图像保存有白边,CV2.polyline,fillpoly的参数问题,图像保存颜色发生异常...
- go子串查询,子串统计,开始和结尾判断
- unity ui框架_[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了
- vue组件穿方法_vue组件间通信六种方式(完整版)
- C语言#define预处理
- html5输入框增加语音,为任意输入框添加语音输入功能
- r生成html文件,从R中的许多html文件创建一个语料库