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地址变化,会有短暂网络抖动