dragonboat: A feature complete and high performance multi

您所在的位置:网站首页 dragonboat英语 dragonboat: A feature complete and high performance multi

dragonboat: A feature complete and high performance multi

2024-07-16 19:05| 来源: 网络整理| 查看: 265

dragonboat

Dragonboat - A Multi-Group Raft library in Go / 中文版

license Build status travis-ci Go Report Card Godoc Join the chat at https://gitter.im/lni/dragonboat

About

Dragonboat is a high performance multi-group Raft consensus library in Go with C++11 binding support.

Consensus algorithms such as Raft provides fault-tolerance by alllowing a system continue to operate as long as the majority member servers are available. For example, a Raft cluster of 5 servers can make progress even if 2 servers fail. It also appears to clients as a single node with strong data consistency always provided. All running servers can be used to initiate read requests for aggregated read throughput.

Dragonboat handles all technical difficulties associated with Raft to allow users to just focus on their application domains. It is also very easy to use, our step-by-step examples can help new users to master it in half an hour.

Features Easy to use API for building Raft based applications in Go or C++ Feature complete and scalable multi-group Raft implementation Fully pipelined and TLS mutual authentication support, ready for high latency open environment Custom Raft log storage and Raft RPC support, easy to integrate with latest I/O techs Optional Drummer server component for managing large number of Raft groups with high availability Extensively tested including using Jepsen's Knossos linearizability checker, some results are here

Most features covered in Diego Ongaro's Raft thesis have been supported -

leader election, log replication, snapshotting and log compaction membership changes ReadIndex protocol for read-only queries leadership transfer and non-voting members idempotent updates transparent to applications batching and pipelining Performance

Dragonboat is the fastest open source multi-group Raft implementation on Github.

For 3-nodes system using mid-range hardware, e.g. 22 cores Intel Xeon at 2.8Ghz and enterprise NVME SSD (details here), Dragonboat can sustain at 9 million writes per second when the payload is 16bytes each or 11 million mixed I/O per second at 9:1 read:write ratio. High throughput is maintained in geographically distributed environment. When the RTT between nodes is 30ms, 2 million I/O per second can still be achieved using a much larger number of clients. throughput

The number of concurrent active Raft groups affects the overall throughput as requests become harder to be batched. On the other hand, having thousands of idle Raft groups has a much smaller impact on throughput. nodes

Table below shows write latencies in millisecond, Dragonboat has



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3