Heartbeat的可靠消息通信实现分析

豆豆网   技术应用频道   2007年05月21日  【字号: 收藏本文

本文详细介绍Heartbeat的可靠消息通信实现分析

  摘要

  Heartbeat项目是Linux-HA工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在Heartbeat项目里,由heartbeat模块实现了这两个功能。这篇文章描述了heartbeat模块的可靠消息通信机制,并对其实现原理做了一些介绍。

  关键词:集群通信 高可用集群 Linux Heartbeat

  引言

  Heartbeat是Linux-HA工程的一个组件,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的一个例子,在行业内得到了广泛的应用,这里分析的是2007年1月18日发布的版本2.0.8,可以从Linux-HA的官方网站www.linux-ha.org下载到最新版本。

  随着Linux在关键行业应用的逐渐增多,它必将提供一些原来由IBM和SUN这样的大型商业公司所提供的服务,这些商业公司所提供的服务都有一个关键特性,就是高可用集群。

  高可用集群是指一组通过硬件和软件连接起来的独立计算机,它们在用户面前表现为一个单一系统,在这样的一组计算机系统内部的一个或者多个节点停止工作,服务会从故障节点切换到正常工作的节点上运行,不会引起服务中断。从这个定义可以看出,集群必须检测节点和服务何时失效,何时恢复为可用。这个任务通常由一组被称为“心跳”的代码完成。在Linux-HA里这个功能由一个叫做heartbeat的程序完成。

  Heartbeat消息通信模型

  Heartbeat包括以下几个组件:

  heartbeat – 节点间通信校验模块

  CRM - 集群资源管理模块

  CCM - 维护集群成员的一致性

  LRM - 本地资源管理模块

  Stonith Daemon - 提供节点重启服务

  logd - 非阻塞的日志记录

  apphbd - 提供应用程序级的看门狗计时器

责编:豆豆技术应用

正在加载评论...