• KeepAlived简介


    最近因为公司项目需要使用KeepAlived,所以正在学习KeepAlived。网上很多资料但是大多千篇一律,而且根本没有说清楚。所以自己整理了一下。

    首先,KeepAlived是一种负载均衡高可用方案或者说技术,更偏向于高可用。

    那么KeepAlived怎么实现的负载均衡和高可用呢?下面将详细说明

    一、负载均衡

    KeepAvlied的负载均衡其实是站在巨人的肩膀上,是基于LVS实现的。LVS全程linux virtual server即linux虚拟服务器。

    关于LVS的介绍,网上很多,

    个人的另一篇博客也有介绍LVS学习笔记

    这里就不多说了。

    二、高可用(这里指的是路由器高可用)

    KeepAlived的高可用是基于VRRP协议实现的,即虚拟路由冗余协议。简单介绍下VRRP

    其实从名称来看就大概能明白,冗余,也就是说要有多个路由器。这些路由器一起提供虚拟路由功能。

    即VRRP由一组真实的路由器组成,这些路由器分为一个master和多个backup,对外提供一个虚拟IP,平时由master来负责处理,master会发送组播给backup,当backup收不到master的组播后,会认为master已经宕机

    通过选举,根据VRRP的优先级(优先级相同选IP大的)从剩下的backup中选择一个成为新的master,接着对外提供服务。保证路由的高可用。

    到这里相信KeepAlived的原理已经介绍完了。

    简单说下KeepAlived内部组件

    core:用来监控checker和vrrp的

    checker:用来做心跳检测

    vrrp:实现vrrp

    最后说下KeepAlived的配置

    主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server

    global_defs全局配置,一般用来在配置发生切换时的告警设置

    static_ipaddress和static_routes,用来配置IP和路由的,一般服务器都由IP和路由了,一般不需要

    vrrp_xxx这些就是跟vrrp协议相关的配置,实现高可用的时候需要配置

    virtual_server跟LVS相关的配置,实现负载均衡的时候需要配置。

    总结下,global_defs一般都需要配置,配置项具体内容网上很多,不介绍了。static_xxx一般不用配置,如果需要使用KeepAlived的高可用特性的话,需要配置下vrro_instance以及vrrp_xx这些配置项

    如果要使用KeepAlived负载均衡特性的话,需要配置下virtual_server IP port,IP肯定是虚拟IP,port就看需要负载均衡的服务监听的端口号。

    仅使用高可用特性的话,不需要配置virtual_server。但是要求访问vip的端口号和真实服务器的端口号一致。个人感觉跟LVS的DR模式很类似,通过vrrp直接将vip的mac地址设置成master的mac地址,直接转给master,

    并且因为master绑定了vip,所以响应包不需要做任何特殊处理。

  • 相关阅读:
    mysql(二)数据类型
    mysql(一)
    MySQL8 安装官方示例 employees 数据库
    Elasticsearch入门
    redis入门
    git 基本使用
    vue-cli4环境变量配置和代理跨域配置
    nginx配置
    彻底搞清浏览器和服务器跨域
    File文件过滤器
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/14955324.html
Copyright © 2020-2023  润新知