• 【博客551】实现主备高可用vip的几种方式


    实现主备高可用vip的几种方式

    1、keepalived:

    注意:要求网络环境有一定要求,需要组播报文不被抑制才可以

    具体限制场景:keepalived的限制场景

    使用keepalied来实现vip。keepalived通过vrrp进行状态检测,leader选举,故障切换;同时通过发送garp报文来宣告vip,谁选中了leader,谁就发送garp去宣告vip

    具体参考:keepalived原理与架构系列

    2、利用bgp宣告

    每个node上运行一个agent,例如:gobgpd。然后不断的向交换机宣告一个vip,证明自己是此vip的后端,也即:此vip的流量转发到这里来。然后多个node都进行bgp宣告,此时可以做到vip的容灾,且当每个bgp路径的成本一致时,可以做到流量的负载均衡

    bgp选路原则:

    当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:

    • 1、优选协议首选值(PrefVal)最高的路由。
      协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。

    • 2、优选本地优先级(Local_Pref)最高的路由。
      如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。

    • 3、依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由。

    • 4、优选AS路径(AS_Path)最短的路由。

    • 5、依次优选Origin类型为IGP、EGP、Incomplete的路由。

    • 6、对于来自同一AS的路由,优选MED值最低的路由。

    • 7、依次优选EBGP路由、IBGP路由、LocalCross路由、RemoteCross路由。

    • 8、优选到BGP下一跳IGP度量值(metric)最小的路由。

    • 在IGP中,对到达同一目的地址的不同路由,IGP根据本身的路由算法计算路由的度量值。执行bestroute igp-metric-ignore命令后,BGP选路时忽略IGP Metric的比较。

    • 9、优选Cluster_List最短的路由。

    • 缺省情况下,BGP在选择最优路由时Cluster-List优先于Router ID。配置bestroute routerid-prior-clusterlist命令后,BGP在选择最优路由时Router ID优先于Cluster-List。

    • 10、优选Router ID最小的设备发布的路由。

    • 如果路由携带Originator_ID属性,选路过程中将比较Originator_ID的大小(不再比较Router ID),并优选Originator_ID最小的路由。

    • 11、优选从具有最小IP Address的对等体学来的路由。

    形成BGP等价负载分担的条件是“BGP选择路由的策略”的1至8条规则中需要比较的属性完全相同。

    BGP负载分担:

    BGP只能建立备份路由,不能建立等价路由.,但当到达同一目的地址存在多条等价路由时,可以通过BGP等价负载分担实现均衡流量的目的。形成BGP等价负载分担的条件是“BGP选择路由的策略”的1至8条规则中需要比较的属性完全相同。

    具体参考:bgp原理系列

    3、利用etcd选主

    每个node上运行一个agent,通过不断检测节点状态与节点上服务的状态来判断本节点是不是健康节点,如果是则像etcd的特定key中写入自己的ip,且为key设置过期时间,如果发现此key已经有ip了,且ip不是自己,则不需要重复写入,证明有其它存活节点。如果ip是自己,则对key进行续约,如果发现自己不健康,且key中的ip是自己,则进行删除。

  • 相关阅读:
    【mia】服务管理流程
    性能专题|实战角度分析JVM 源码
    红队隧道加密之MSF流量加密(二)
    DJ9-2 中断方式
    基于4G工业路由器的信息发布系统物联网应用方案
    Vue学习之--------Vue中自定义插件(2022/8/1)
    时序设计中的“打拍”
    在Vue中使用腾讯云COS(建议正式环境使用)
    AutoGPT目前只是成功学大师GPT版
    Java八股文基础
  • 原文地址:https://blog.csdn.net/qq_43684922/article/details/128161647