为什么RESTful HTTP服务现在甚至在后端通信中如此受欢迎,除了它是标准和简单的?
我永远不会为需要低延迟和/或高吞吐量的后端选择HTTP-REST,主要是因为:
我可以在许多开源项目中看到RESTful Web服务,声称它们具有低延迟,高吞吐量。例如,创建RESTful微服务非常流行,将轻量级http服务器嵌入到服务器端应用程序中。
作为替代方案,我可以通过TCP使用WebSockets(当然通过HTTP升级)。
我知道HTTP如何在引擎盖下工作以及下层TCP。但请解释一下,除了HTTP-REST是一个流行语和简单的原因,你应该使用其中一个,还有其他什么优势?
答案 0 :(得分:7)
RESTful HTTP是一项成熟的技术,而WebSockets仅在2014年夏季成为W3C推荐。
一方面,新技术进入产品需要一些时间,因为人们不得不采用新技术,而且通常您也不想仅仅为了拥有WebSockets而重写产品。
另一方面,更重要的是,RESTful HTTP和WebSockets是完全不同的技术。 RESTful HTTP是无状态的,因此您可以构建高度可伸缩的应用程序。另一方面,WebSockets是双向的,因此终端,服务器和客户端都可以触发通信。所以最后你的决定应该基于这个场景。过去一直存在RESTful HTTP是完美解决方案的情况,今天仍然如此。另一方面,需要实时通信或服务器驱动事件的场景将从WebSockets中获益。
但重要的是:从现在开始你可以选择!