关键词:
工程成本
可用性
数据一致性
分布式系统
摘要:
以城市轨道交通列车指挥调度系统为代表的工业系统受限于工程成本,在运营现场往往仅部署两个服务节点。指挥调度中心因故障离线后,若采用主流的分布式一致性协议保证运营现场节点间数据一致性,将因为降低了可用性而无法容忍节点发生故障。为解决此问题,提出一种基于Raft一致性协议的调度算法,通过对Leader选举与数据同步过程进行合理扩充,使路由器成为分布式系统逻辑上的第3个节点,满足Raft协议多数派设计要求。经实验验证,基于该算法的两节点分布式系统相较于基于Raft协议的两节点分布式系统,提高了可用性,能够容忍单节点故障。基于Raft协议的三节点分布式系统在Leader选举与数据同步的正确性方面保持一致。受限于节点数量,可用性差距为27.8%,占少量运行时长的Leader选举性能差距为65.6%,主要运行时长的数据同步性能提升了7.8%,能够在不增加工程成本的情况下满足两节点的分布式主备系统,并兼顾可用性与数据一致性的工程需求。