• 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,所以响应包不需要做任何特殊处理。

  • 相关阅读:
    linux下Tomcat配置提示权限不够解决办法
    Linux 生成SSL证书 供 nginx使用
    mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】
    Linux Mysql 备份与还原
    Linux 安装Mysql
    Linux 卸载Mysql
    Linux yum安装java环境
    InMemoryUploadedFile对象复制到磁盘中的临时路径
    在django中使用(配置)celery
    使用ffmpeg以mp4的格式保存视频
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/14955324.html
Copyright © 2020-2023  润新知