Cloudflare推出新共识服务Meerkat

发布于

Cloudflare最近推出了一项名为**Meerkat**的新协议,这是一个全新的分布式共识服务,旨在提高全球数据中心间的一致性和可用性。Meerkat使用了2023年由EPFL研究人员发表的共识算法**QuePaxa**,与目前流行的Raft算法不同,Meerkat允许任何副本都可以进行写操作,避免了因为单一领导者故障而导致的系统不可用问题。

## 我们对全球控制平面数据系统的需求

Cloudflare的许多服务都需要从分布在全球各地的多台机器上读取和写入控制平面数据。控制平面数据不仅必须保持**强一致性**,还要在特定故障情况下具备**可访问性**。

### 强一致性

在分布式数据系统中,一致性水平决定了系统在接收到并发读取和写入时允许表现出何种“奇怪”行为。以分布式键值存储为例,在许多服务中,若在不同节点上提交一系列写入操作,系统的一致性级别保证了客户查询时能够看到的值,避免了不一致的读取结果。

### 故障容忍

一个优秀的系统应该能够在机器崩溃、网络故障或延迟的情况下保持正常工作。例如,如果系统中超过一半的机器都能够交流,则系统必须保持对于写入和读取请求的可用性,而不因单个故障而受到影响。

## Meerkat的引入

Meerkat是一个共识服务,它允许在构建应用时实现上述所需的属性如强一致性和故障容忍。Meerkat的架构允许开发者请求一组副本,不同副本之间可以相互通信,从而处理读取和写入请求。每个Meerkat副本都能够通过共识算法保持相同的事件日志,确保所有副本展示一致的状态。

这一设计使得Meerkat在面对网络延迟和机器问题时,始终保持高可用性。通过避免传统共识算法中的领导者机制,Meerkat能够避免因单一副本故障而导致的系统瓶颈,显著提升数据处理效率。

总的来说,Meerkat的推出标志着Cloudflare在全球范围内首次实现QuePaxa算法的工业应用,并为未来的开发提供了坚实的基础。

---

原文链接:[点击查看](https://blog.cloudflare.com/meerkat-introduction/)

评论

暂无评论。