zoukankan      html  css  js  c++  java
  • Keepalived实现主备切换

    目前有一个需求:有两台机器,上面部署了相同的服务,平时情况下,由master处理请求;master宕机后,由backup处理请求;master重连后,重新由backup处理请求。

    实现的方式有很多,我这里由keepalived简单实现。

    安装keepalived

    yum install -y conntrack-tools libseccomp libtool-ltdl
    yum install -y keepalived
    

    相关配置

    这里有两台服务器:

    ip 角色 端口
    192.168.1.73 master 8080
    192.168.1.74 backup 8080
    vip:192.168.1.76 虚拟ip 8080

    192.168.1.73的代码:

    @RestController
    public class TestController {
    
        @GetMapping("/test")
        public String test(){
            return "test1";
        }
    }
    

    192.168.1.74的代码:

    @RestController
    public class TestController {
    
        @GetMapping("/test")
        public String test(){
            return "test2";
        }
    }
    

    192.168.1.73配置:

    vi /etc/keepalived/keepalived.conf
    
    global_defs {
       router_id kpd
    }
    
    vrrp_instance VI_1 {
        state MASTER
        interface ens192
        virtual_router_id 51
        priority 250
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass ceb1b3ec013d66163d6ab
        }
        virtual_ipaddress {
            192.168.1.76
        }
    }
    

    注意vrrp_instance代码块中的interface跟下面红框内容一致:

    image-20210530142905391

    192.168.1.74配置:

    vi /etc/keepalived/keepalived.conf
    
    global_defs {
       router_id kpd
    }
    
    vrrp_instance VI_1 {
        state BACKUP
        interface ens192
        virtual_router_id 51
        priority 249
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass ceb1b3ec013d66163d6ab
        }
        virtual_ipaddress {
            192.168.1.76
        }
    }
    

    启动服务:

    systemctl start keepalived.service
    systemctl enable keepalived.service
    

    测试keepalived

    先看192.168.1.73的ip

    image-20210530143226128

    这里vip落到了192.168.1.73上面,说明master配置没有问题。

    访问:192.168.1.76:8080/test,返回的是73服务器的结果,间接说明master节点工作。

    image-20210530143345192

    现关闭192.168.1.73服务器

    shutdown -h now
    

    查看192.168.1.74服务器:

    image-20210530143517785

    vip落到了192.168.1.74服务器,backup开始工作,继续访问:192.168.1.76:8080/test,返回74服务器的代码,至此无问题。

    image-20210530143605910

    重新开启192.168.1.73服务器:查看vip变化

    image-20210530143810640

    这里vip又重新落到192.168.1.73这台master服务器,启动73后台java服务,并访问192.168.1.76:8080/test

    image-20210530143910873

    master重新提供服务。

  • 相关阅读:
    统计字符串中每个字母出现的次数
    三次握手和四次挥手
    select后面不能包含group by 后面没有的列
    常用adb命令
    replace和replaceAll的区别
    java统计一个字符串中某个字串出现的次数
    大厂如何解决分布式事务
    ADB 用法大全
    PBN飞越转弯Flyover衔接TF、CF航段保护区组图
    PBN旁切转弯保护区组图
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14827964.html
Copyright © 2011-2022 走看看