【发布时间】:2014-08-17 06:31:06
【问题描述】:
我的公司计划在我们的后端使用 CQRS 架构,但作为客户端开发人员,我对如何使用请求有点困惑。以下是我想出的方法,从我的角度来看,没有一个是理想的:
- 服务器一直等待,直到队列得到处理并在响应中返回所需的数据。 (从性能的角度来看,这听起来像是一种非常糟糕的方法);
- 一旦请求被添加到队列中,客户端发出请求并返回“202 Accepted”,然后客户端使用间隔系统进行池化,直到它从后端获取必要的数据(我不是每秒执行 X 个 http 请求的忠实粉丝);
- Web Sockets ... 似乎是完美的解决方案,因为一旦处理完数据,服务器就能够将数据推送到客户端(我有点担心在整个应用程序周围打开了数千个套接字)。
所以问题是:解决这个问题的最佳方法是什么? (不一定是上述之一)
【问题讨论】:
-
要完成vtortola的回答,你也可以查看这个项目SwaggerSocket。它旨在为 REST API 提供 websocket 接口以获得更好的性能。
-
谢谢,我们最终使用了 signalR(.net)。
标签: javascript rest websocket client-server cqrs