Heartbeat 与Corosync对比分析

引言: 在高可用系统中,系统服务可用性的监控是必不可少的一项基础组件。而目前流行的是Heartbeat和corosync,对于这两者各有什么优缺点呢?


共同点:

  都属于消息网络层,对外提供服务和主机的心跳检测,在监控的主服务被发现当机之后,即时切换到从属的备份节点,保证系统的可用性.

不同点:

  •    社区活跃度:

    Heartbeat2010年之后,就不再继续维护,而Corosync则仍然处于活跃期

  • 配置复杂度:

    Heartbeat非常容易进行配置,第一次配置可能只需要几分钟,而Corosync由于有一定的复杂度则需要一点耐心

  • 管理资源的灵活性:

    Heartbeat只能为所有的资源配置一个主服务,而corosync则允许为不同的资源组配置不同的主服务。

  • Resource stickiness:

    Heartbeat在主服务server1当机之后,切换到从服务节点server2;还会把之前的主节点server1继续放入从属节点列表之内。而corosync则不会存在这个情况。

  • 配置文件的版本管理:
    corosync中,其会自行处理配置文件的同步问题,heartbeat则无此功能。

  • 分组管理

    Heartbeat只支持2个节点,而corosync则支持多个节点的集群,支持把资源进行分组,按照组进行资源的管理,设置主服务,自行进行启停

    故此可见,一般来说都是选择corosync来进行心跳的检测,搭配pacemaker的资源管理系统来构建高可用的系统,关于pacemaker的内容,大家可以自行查阅资料。

参考资料:

  1. HeartBeat的百度百科 http://baike.baidu.com/link?url=dNg0yvDgksPxDtp8CE8CZKPupcBgyhJalCQI6f4mtWWI7ECDPfC8gm1e10RY-zGohJWS-9a49_G30BRaMZkOT1SKsoKr66Y0WDuMYlqgRli

2.   Heartbeat官方站点 http://www.linux-ha.org/wiki/Main_Page

3.   Corosync的官方站点  http://corosync.github.io/corosync/

你可能感兴趣的:(高可用,heartbeat,对比分析,corosync)