在我的Web应用程序中,我有几个服务器模块,它们通过RESTful服务响应客户端模块。
让我在这里给出一个用例。假设我正在构建一个社交网络,其中服务器模块的实例负责管理不同用户的推文。
这些服务器中的每一个都处理对不同数据集的请求。对于例如Server1将为用户U4和U5提供用户U1,U2和U3,Server2的推文,为用户U6,U7和U8提供Server3。这些服务器的实现是相同的,只有它们处理的用户数据不同。此配置甚至可能在运行时更改,即处理特定用户的推文数据的责任可能会从一个服务器更改为另一个服务器。
现在假设客户端模块需要用户U3的数据。它如何确定(在运行时)它必须联系哪个服务器。
基本上,实现这种动态服务注册和发现的各种方法是什么?这是一个实时应用程序,需要通过客户端模块缓存服务发现结果,以便为每个请求保存网络跃点以进行服务发现。
是否有一些现有的开源解决方案可以帮助我提供此功能,还是我应该继续自行实施?