keepalived和heartbeat都是常见的高可用软件。两者有很大不同。


keepalived像是拍卖会;

heartbeat更像是王位继承。


1、参与机制不同

keepalived机制下,多人参与,根据身份和报价高低来决定谁中标;(角色和优先级)

heartbeat机制下,参与者只有国王和王储,国王挂了,王储即位;


2、健康检测和failover方式不同

keepalived机制下,中标人在中标后需要一直广播自己已中标;(master需要不停广播,证明自己ok,backup还需要收到广播才行)

heartbeat机制下,王储定时问候国王,随时准备取而代之;(backup定期检测master是否ok)


3、协议不同

keepalived采用vrrp协议广播

headbeat采用icmp协议或ping协议


4、MAC地址

keepalived 的VIP有专门的虚拟MAC地址,不受漂移影响

heartbeat 的VIP漂移,会发生MAC地址变化,会有短暂网络抖动