我想使用WebSockets同步浏览器客户端和服务器之间的数据。
目前大多数人使用WebSockets只是为了通知客户端服务器上有可用的数据。
在调查了当前的状态后,我发现没有很好的理由为什么我不使用WebSockets来直接同步数据。
注意:这不是websockets缺点的重复,因为我已经有了一个特定的用例
这样做绝对没有技术问题。问题是,如果您试图解耦写入和读取,以转移到更可扩展的体系结构,如CQRS。websockets是读取还是写入的一部分?:)
我对常规应用程序的建议是使用WebSockets来获取更新,并发送关于读取模型的查询,如自动完成输入,搜索等…但是使用REST API来发送需要持久化的实际数据。但是,如果你的应用程序是高度交互的,那么你永远不会发现自己处于想要解耦读和写的位置,所以使用WebSockets应该是好的。
如何从客户端角度处理CQRS
WebSocket/REST: Client connections?
我已经使用SSE完成了,没有任何特别的问题(只是确保您在单个通道上读取数据更新,即不要在您的持久通道上发送带有REST调用和相同负载的响应有效载荷),我认为WebSockets应该更好。不能想象为什么它不能工作(只要没有旧的HTTP代理搞砸WebSockets本身)。