SOFAJRaft is a production-level, high-performance Java implementation based on the RAFT consistency algorithm that supports MULTI-RAFT-GROUP for high-load, low-latency scenarios. With SOFAJRaft you can focus on your business area. SOFAJRaft handles all RAFT-related technical challenges. SOFAJRaft is very user-friendly, which provides several examples, making it easy to understand and use.
In multi raft group service, there are many nodes in same server process that may be all leaders, then the heartbeat to their followers will consume CPU and network. For example, we can share the heartbeat timer and merge heartbeat requests to the same follower server at once between these leaders to reduce the system consumpiton, of course, you can provide more optimization solutions.
SOFAJRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景。 使用 SOFAJRaft 你可以专注于自己的业务领域,由 SOFAJRaft 负责处理所有与 RAFT 相关的技术难题,并且 SOFAJRaft 非常易于使用,你可以通过几个示例在很短的时间内掌握它。
在 multi raft group 场景中,可能有多个 raft node 在同一个进程中并且很多都是 leader,当他们各自向自己的 followers 发送心跳时会过多的消耗 CPU 和网络 IO。例如我们可以在同一个进程内共享心跳计时器并将这些 leaders 发往同一台机器的心跳请求合并起来发送出去,以此来减少系统消耗,当然你还可以提供更多的优化方案。