我想定期在一组REST API服务器(基于Spring Boot的API集群(之间同步数据。集群中的任何实例都应该能够向所有其他实例广播新信息。
我不想在这里使用数据库。我正在努力寻找一个轻量级的库,可以在API内部用于此目的。是否可以使用Atomix/Hazelcast/ZooKeeper来实现此目的?如果是这样的话,如果有人能发布一个示例代码,那将非常有帮助——如果可能的话。
我提前表示感谢。
在Hazelcast中,您可以通过WAN复制来实现。
这是一项企业功能,您必须购买许可证。
Hazelcast可以用于此用例。每个REST实例将在其JVM中创建一个嵌入的Hazelcast成员。Hazelcast成员随后发现彼此并形成集群。您的REST应用程序将使用IMap或ReplicatedMap服务——一个分布式键值存储(IMap可以存储更多数据,ReplicatedMap更快(。一旦将数据写入IMap,所有其他实例都会立即看到它。
请参阅此处的代码示例:https://docs.hazelcast.com/hazelcast/latest/getting-started/get-started-java.html#complete-代码样本
此功能和Spring集成是开源的。