abo*_*udy 21 high-availability heartbeat keepalive
我想构建一个高可用的服务器集群。现在我想知道关于keepalive和heartbeat的细节,两者有什么区别,以及如何选择一个。
小智 28
相信 HAProxy 的作者 Willy Tarreau 在http://www.formilux.org/archives/haproxy/1003/3259.html 中已经非常准确地回答了这个问题。
引用自上述链接
Heartbeat 不是获得冗余 haproxy 设置的最佳工具,它旨在构建集群,这与拥有两个冗余无状态网络设备有很大不同。面向网络的工具,例如 keepalived 或 ucarp 最适合该任务
这两个家族的区别很简单
- heartbeat等面向集群的产品将确保共享资源最多出现在一个地方。这对于共享文件系统、磁盘等非常重要......它旨在在切换期间在一个节点上关闭服务并在另一个节点上启动服务。这样,共享资源可能永远不会被并发访问。这是一项非常艰巨的任务,而且做得很好。
- 像keepalived这样的面向网络的产品将确保共享IP地址至少出现在一个地方。请注意,我不再谈论服务或资源,它只是使用 IP 地址。它不会尝试关闭或启动任何服务,它只会考虑一定数量的标准来决定哪个节点最适合提供服务。但是该服务必须已经在两个节点上启动。因此,它非常适合冗余路由器、防火墙和代理,但根本不适用于磁盘阵列或文件系统。
(是的,我知道这是一个老问题,但供将来参考)
小智 3
没有明确、一致的区分。这些词有时或多或少可以互换使用。
有一个用于高可用性设置的通用用户态守护程序,称为Keepalived,Linux HA 项目曾经有一个称为 Heartbeat 的守护程序,现在已更改为Pacemaker。(我相信您没有要求对这两个系统进行完整的概述,以及所有的差异是什么,恕我直言,这不是主题。)
在日常使用这些术语时,我想说最常见的用法是:
“保持活动”更一般地指的是保持服务高度可用的系统。
“心跳”更具体地指的是一种通信协议,其中高可用性设置的一个或多个成员定期发送“是的,我还活着!” 消息。如果他们的同伴在设定时间之前没有看到“是的,我还活着”消息(即另一台主机已关闭),则会采取行动。这有点像感觉脉搏,因此得名。
| 归档时间: |
|
| 查看次数: |
28909 次 |
| 最近记录: |