Totem协议详解:SRP与RRP的组通信机制

需积分: 12 5 下载量 183 浏览量 更新于2024-07-09 收藏 656KB PDF 举报
"这份文档详细介绍了Totem协议,包括其两个子协议SRP(Single-Ring Ordering and Membership Protocol)和RRP(Redundant Ring Protocol)。文档由仇恕(Chinainvent)于2011年9月撰写。SRP是一种基于以太网的组通信协议,构建在单环结构上,利用UDP进行广播和令牌传递来确保消息的可靠性和有序性。RRP则是在SRP的基础上,通过冗余网络连接多个节点,增强网络的健壮性。文档还解释了Processor和Application的概念,以及Broadcast、Transmit/Forward token、Delivery等基本操作,同时阐述了Causal Order、Agreed Order和Safe Order等关键特性,保证了消息传递的正确性和一致性。" Totem协议是由SRP和RRP构成的通信协议族,其中SRP是一种单环结构的协议,所有节点通过UDP进行消息传递,确保所有数据的顺序和可靠性。每个节点都会收到相同的消息序列,即使存在消息丢失或节点故障,系统仍能正常运行。而RRP是SRP的增强版,通过冗余网络连接多个节点,提高了网络的容错能力,能够应对网络损坏的情况。 Processor是指实现了SRP/RRP协议并提供组通信服务的组件,例如corosync,它为应用程序(Application)提供接口,如sheepdog就是使用corosync的组通信服务。在 Totem 协议中,Broadcast指的是一个处理器向所有处理器发送消息,Transmit/Forward token则是指处理器将令牌传递给下一个处理器,而Delivery则表示处理器将消息传递给关联的应用程序。 协议的三个顺序概念——Causal Order、Agreed Order和Safe Order,是保证消息传递正确性的核心。Causal Order确保每个节点都能接收到所有消息,且消息传递具有先后顺序,避免并发。Agreed Order在此基础上,确保在发送新消息前,所有节点已接收完所有先前的消息,防止消息丢失。而Safe Order是最强的保证,不仅满足Agreed Order,还要求所有处理器都已接收了新消息之前的所有消息,确保所有节点的一致性。 Totem协议通过SRP和RRP提供了高可靠性和顺序保证的组通信解决方案,特别适用于需要强一致性的分布式系统,如集群和容错环境。通过理解这些概念和技术,开发者可以更好地设计和实现健壮的分布式应用。