因此,假设在面向服务的体系结构中,您有3层:
- Web/外部层-用户看到的内容
- 应用程序逻辑-生成第3层。处理用户、会话、表单&等等
- 内部API-您的数据,以及如何访问数据
现在1和2生活在同一个网络中,所以延迟是我们考虑最少的问题。从本质上讲,第2层使用REST来消耗来自第1层的数据。
让第1层和第2层使用Websockets而不是REST进行通信的PROS和CONS是什么
假设您有多个服务器和第2层应用程序。
这个问题纯粹是出于好奇。
有一个关于RESTfull HTTP与websockets的旧讨论。我喜欢认为他们与众不同。一般来说,websocket会为您提供更精细的控制。随之而来的也许是更高的效率——想象一下,如果你定义了自己的协议。不利的一面是,你会有一个不太标准的方法。REST不那么灵活,但更标准,耦合更松散。
Stefan Tilkov在他的博客文章中很好地总结了这一点。这里还有一个相关的讨论。