我有一个分布式系统设计问题。问题简介是
我们有很多客户来服务。该服务需要具有容错性,因此它将具有许多副本。当客户端无法再访问该服务时,它将切换到副本并通知所有其他客户端将切换到同一个副本。(在副本之间进行负载平衡是不可接受的,因为副本的数据值不完全相同,但所有客户端必须始终返回相同的数据值。)
我目前的设计是让客户在未能联系到服务时要求新的服务领导。当建立一个新的服务领导者时,它将通知所有客户端使用它。
与许多分布式协调设计一样,我需要一个分布式组管理器。我正在考虑在解决方案中使用 JGroups 和/或 Apache Zookeeper。
是否有一个或多个我应该寻找的现有食谱来解决这个问题?