【发布时间】:2016-05-10 08:18:45
【问题描述】:
我有一堆不同的RESTful 服务正在运行,它们被设计为尽可能独立(物理上或逻辑上)。但有时他们需要相互交流(如果有的话)。只要它们是 Web 服务器,我就使用 http 将消息从一个传递到另一个,并接收响应。
问题是,http 作为协议在这方面是否非常有效?就每个请求都需要新连接而言,我担心另一种解决方案,准备好应对高负载。
另一件事,假设我有 10 个服务 A 实例,而只有 5 个 B 实例,并且有一个内部负载均衡器,所以当 A 询问 B 时,均衡器给了他最可用的 B。从那时起,我有疑问,如果keep-alive 在这里可能会有所帮助。
是否有可用于生产的库?类似于pub/sub,当服务发布请求时,某些组的一些免费服务处理它,并给出响应?或者说,当服务 B 拉动服务 A 时,B 希望在 A 周围停留一段时间,再请求几个请求,然后再寻找空闲的。
UPD。我正在使用tornado 框架(python),nginx 作为负载均衡器(并计划在未来使用 Amazon)。
抱歉,这个问题太宽泛了。
谢谢!
【问题讨论】:
-
这个问题太宽泛了。您能否通过添加服务器和您正在使用的技术来缩小范围?
-
@CássioMazzochiMolin 抱歉,更新了问题。
-
这一个至少有三个不同的问题。当您将其划分为特定的部分时,您可能会得到更好的响应
标签: python rest nginx tornado high-load