LVS 单机 20G 的带宽显然和我们 200G 的目标还相去甚远,但是我们接下来要做的第一件事并不是提升系统容量,而是先提升系统的稳定性:搭建高可用架构。
Keepalived 是一款出色的开源软件,专为与 LVS 配合而设计,主要功能是构建自选举集群。它支持独立部署三台机器用作控制器集群,也可以将控制器部署到应用机器上。与 LVS 一样,基于虚拟 IP 技术,可在任意标准以太网内运行。
Keepalived 的运行原理简单明了:
LVS 与 Keepalived 结合,基于多台物理机,可实现高可用负载均衡集群,架构如图 6-5 所示。
若 Master 因任何原因失效(硬件故障、断电、误操作、光缆挖断、火灾地震等),Standby 机器将迅速接替,接管流量,实现高可用目的。
金融级项目可在一城市跨三个机房做三节点 Keepalived 集群。为何不跨城市?因跨城市属于“两地三中心”高可用技术领域,一般不在二层网络上进行,跨城市专用光纤建设费用高昂,城市内拉光纤更经济实惠。最后一章将探讨终极高可用架构。
笔者在公司办公区的自建机房部署了一些非关键业务,性能要求不高,故选择单独部署 Keepalived:与 Kong 网关配合提供高可用网关;与 MySQL 配合做双主双活集群;与 Kubernetes 配合做了一个跨越四台物理机的容器集群,并提供高可用服务等。
2023 年 7 月,笔者公司机房发生了空调漏水事故,损坏两台物理服务器。由于提前搭建了三节点 Keepalived 集群,核心服务成功幸存了下来。这是笔者首次经历物理服务器和磁盘全部损毁的事故,Keepalived 经受住了考验!
📙 高并发的哲学原理 《Philosophical Principles of High Concurrency》
Copyright © 2023 吕文翰