Serf 是一个用于集群成员、故障检测、编排的工具,它是去中心化的、容错的、高可用性的。
Serf 在每个主要平台上运行:Linux、Mac OS X 和 Windows。
它非常轻量级:它使用 5 到 10 MB 的常驻内存,并且主要使用不频繁的 UDP 消息进行通信。
Serf 使用高效的 gossip 协议来解决三个主要问题:
Membership(成员关系)
Serf 维护集群成员列表,并且能够在成员关系更改时执行自定义处理程序脚本。
例如,Serf 可以维护负载均衡器的 Web 服务器列表,并在节点上线或离线时通知负载均衡器。Failure detection and recovery(故障检测和恢复)
Serf 在几秒钟内自动检测到故障节点,通知集群的其余部分,并执行处理程序脚本,来允许您处理这些事件。 Serf 将通过定期重新连接来尝试恢复故障节点。Custom event propagation(自定义事件传播)
Serf 可以向集群广播 custom events 和 Queries。 这些可用于触发部署、传播配置等。事件只是即发即弃的广播,Serf 在面对离线节点或网络分区时尽最大努力传递消息。 Queries 提供了一个简单的实时请求/响应机制。
有关在 Serf 提供的功能之上构建的具体用例列表,请参阅 use cases page
请查阅 how Serf compares to other software,以了解它如何适应您现有的基础架构。
或者继续阅读 getting started guide,让 Serf 启动并运行,看看它是如何工作的。