我有一堆不同的RESTful
服务在运行,它们被设计成尽可能地独立(物理上或逻辑上)。但有时他们需要互相交流(如果有的话)。只要它们是web服务器,我就使用http将消息从一个服务器传递到另一个服务器,并接收响应。你知道吗
问题是,http
作为一个协议在这方面是否相当有效?因为每个请求都需要一个新的连接,所以我需要另一个解决方案,为高负载做好准备。你知道吗
另一件事,假设我有10个服务实例A,只有5个服务实例B,并且有一个内部负载均衡器,所以当A问B时,均衡器会给他最可用的B。从这一点上说,我怀疑keep-alive
是否有帮助。你知道吗
是否有可供生产使用的库?类似于pub/sub
的东西,当服务发布请求时,来自某个组的一些免费服务处理请求并给出响应?或者,比方说,当服务B拉取服务A时,B希望在A附近停留一段时间以获得更多的请求,然后搜索免费的请求。你知道吗
UPD.我正在使用tornado
框架(python),用nginx
作为负载均衡器(并计划将来使用Amazon)。你知道吗
抱歉,这个问题太宽泛了。你知道吗
谢谢你!你知道吗
经过一些调查,我发现
RabbitMQ
是解决我问题的方法。它附带了代理和强大的管理工具。你知道吗我使用RPC通过JSON-RPC实现了一个异步请求-应答模式,因此内部服务可以很快地相互通信。同一服务的多个实例可以附加到代理上,请求进行循环。你知道吗
另外,this文章帮助我找到了如何做到这一点的想法。你知道吗
相关问题 更多 >
编程相关推荐