在我的web应用程序中,我有几个服务器模块,它们通过RESTful服务响应客户端模块。
让我在这里给出一个用例。假设我正在构建一个社交网络,其中服务器模块的实例负责管理不同用户的tweet。
这些服务器中的每一个都处理对不同数据集的请求。例如,Server1将为用户U1、U2和U3提供推文,为用户U4和U5提供Server2,为用户U6、U7和U8提供Server3。这些服务器的实现是相同的,只是它们处理的用户数据不同。这种配置甚至可能在运行时发生变化,即处理特定用户的tweet数据的职责可以从一个服务器更改到另一个服务器。
现在假设一个客户端模块需要用户U3的数据。它应该如何确定(在运行时)它必须联系哪个服务器。
基本上,实现这种动态服务注册和发现的各种方法有哪些?这是一个实时应用,期望由客户端模块高速缓存服务发现结果,以保存用于每个请求的服务发现的联网跳数。
有没有一些现有的开源解决方案可以帮助我提供这个功能,或者我应该继续并自己实现这个功能?
发布于 2012-12-27 10:47:54
这看起来像是反向代理的责任。
Varnish就是一个例子。我建议你结合w/ it,因为它已经满足了你很大一部分需求。
https://stackoverflow.com/questions/13321090
复制相似问题