高可用服务、常用软件及keepalived

什么是高可用架构

高可用的系统架构设计目标就是要保证当出现硬件故障时,服务依然可用,数据依然能够保存并被访问。实现高可用的系统架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服务器宕机,就将服务切换到其他可用的服务器上;如果磁盘损坏,则从备份的磁盘读取数据。

  • 高可用的应用 - 主要手段是:负载均衡
  • 高可用的服务 - 主要手段是:分级管理、超时重试、异步调用、限流、降解、断路、幂等性设计
  • 高可用的数据 - 主要手段是:数据备份和失效转移
常见高可用服务软件

1、Keepalived:是一个用于 Linux 平台的高可用性软件。它实现了虚拟路由器冗余协议 (VRRP) 和健康检查功能,可以用于确保在多台服务器之间提供服务的高可用性。Keepalived 可以检测服务器的故障,并在主服务器宕机时,自动将备份服务器提升为主服务器,确保服务的持续性和可用性。
2、Corosync:一个高可用性集群通信框架,可以在多个节点之间传输消息和状态信息,支持多种通信协议和插件。
3、Pacemaker:一款高可用性集群软件,可以在多个节点上运行,通过共享存储或网络存储实现资源共享和状态同步。Pacemaker支持多种资源控制器,包括IP地址、文件系统、虚拟IP地址等。(Heartbeat分离出来的)
4、Heartbeat:一款高可用性软件,可以监控节点和资源的状态,并进行自动故障转移。Heartbeat支持多种资源控制器,包括IP地址、文件系统、虚拟IP地址等。
5、DRBD:一款分布式复制块设备软件,可以将块设备复制到多个节点上,实现数据的高可用性和容错性。
6、ZooKeeper:一个分布式协调服务,可以用于实现分布式锁、配置管理、命名服务等功能,可以保证分布式系统的一致性和可靠性。

常用keepalived heartbeat和corosync三者的区别

Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP);
Heartbeat、Corosync是属于同一类型,Heartbeat、Corosync是基于主机或网络服务的高可用方式;

简而言之,Keepalived的目的是模拟路由器的高可用,Heartbeat或Corosync的目的是实现Service的高可用。

总结,Keepalived中实现轻量级的高可用,一般用于前端高可用,且不需要共享存储,一般常用于两个节点的高可用,常见的有:LVS+Keepalived、Nginx+Keepalived、HAproxy+Keepalived。

而Heartbeat(或Corosync)一般用于服务的高可用,且需要共享存储,一般用于多节点的高可用。常见的有:有Heartbeat v3(Corosync)+Pacemaker+NFS+Httpd 实现Web服务器的高可用、Heartbeat v3(Corosync)+Pacemaker+NFS+MySQL 实现MySQL服务器的高可用。

Keepalived是什么

Keepalived一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。Keepalived起初是专为解决LVS的问题而诞生的。因此,Keepalived和LVS的关系如夫妻一样,可紧密结合。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

Keepalived作用

Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中。

Keepalived实现
  • 1 基于VRRP协议的实现
    1)虚拟路由冗余协议(VRRP),可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。
    2)keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。

  • 2 基于TCP/IP协议的理解
    Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层。
    1)Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包,如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。
    2)Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
    3)Layer7就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值