openGauss日志共识框架

DCF是openGauss的分布式一致性共识框架,基于multi-Paxos算法,提供高可用、强一致性的日志复制和集群管理。DCF支持在线节点增删、优先级选主、策略化多数派等功能,具备高效流控算法和定制化角色,旨在简化分布式系统的高可用实现。
摘要由CSDN通过智能技术生成

分布式一致性算法是一个分布式系统的基础性问题,所要解决的是一个分布式系统如何就某个值(决议)达成强一致,进而解决系统的高可用问题。Paxos是最重要的分布式一致性算法,很多人都把它作为“分布式一致性协议”的代名词。

虽然Paxos理论已经提出了很多年,使用Paxos及其各变种协议的产品也层出不穷,但是真正工业级的、第三方独立库还是很少见,开源的项目更是少之又少,参考Paxos协议的常见开源产品有Zookeeper、etcd,但是其协议并不能支持一个高吞吐的状态机复制,且没有提供独立的第三方库,可供其他系统快速接入使用。

为此,我们设计并实现了DCF特性,用于支持openGauss涉及到的分布式强一致场景。

1.什么是DCF?

DCF全称是Distributed Consensus Framework,即分布式一致性共识框架。解决分布式一致性问题典型算法是Paxos、Raft等,DCF实现了Paxos算法。使用DCF可以提供日志复制、集群高可用等能力。DCF提供了基于Paxos多种角色节点类型,并能进行调整。日志复制支持动态流量调整,支持少数派强起能力,自选主能力。

DCF是一款高性能、高度成熟可靠、易扩展、易使用的独立基础库,其他系统通过接口与DCF简单对接,就能够轻松拥有Paxos算法赋予的强一致、高可用、自动容灾等能力。
在这里插入图片描述
DCF功能架构图如上图所示主要包括:算法模块、存储模块、通信模块、服务层等。

算法模块:

算法模块是基于multi-paxos协议实现,同时结合自身业务场景、及高性能和生态的需求,DCF做了很多功能扩展和性能优化,使其相对于基础的multi-paxos,功能变的更加丰富,在多种部署场景下性能都有明显的提升。其主要包括:Leader选举模块,日志复制模块,元数据模块,以及集群管理模块等。

存储模块:

出于特定业务场景和极致高性能考虑,DCF将日志存储单独抽取出一套公共接口,并实现了一个默认的高性能存储模块,有特定场景或极致高性能及成本需求的用户,可以结合已有的存储系统,对接DCF的日志存储接口来实现其特定需求,这也是DCF作为第三方独立库的优势之一。

通信模块:

通信模块主要是基于MEC实现(Message Exchange Component),提供整个DCF组件实例间通信能力,以及异步事件处理框架,主要功能有:可扩展的多种通信协议,单播、广播、环回的发送接口,消息异步处理的框架,支持多channel机制和多优先级队列,支持压缩和批量发送等。

服务层:

服务层是驱动整个DCF运行的基础,提供程序运行所需要的各种基础服务,例如:锁、任务异步调度、线程池服务、定时器能力等。

  1. DCF能做什么?

2.1 支持在线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

openGauss社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值