0

我有以下问题

[1]。有一个管理系统需要最频繁的 CRUD 操作。例如 int GetUserLimit(), List GetUserList(), int AddNewUser(User user), bool DeleteUser(), IsAuthenticated(string username, string passwrd)

对于上面列出的函数,Web 应用程序可能需要等待一些返回。

在这种情况下,是直接为 Web 应用程序提供 Web 服务更好,还是我们不公开这些 Web 服务,而是 Web 应用程序通过请求/回复模式与 EBS 通信?

解决方案1:

http://i.stack.imgur.com/cIRUR.png

解决方案2:

如果 Web 应用程序向一个组件 A“发送”命令,则组件 A 将消息回复到名为“webmsgqueue”的特定队列或将消息推送到 nosql 服务器。Web应用程序使用ajax轮询方法来检查“webmsgqueue”或nosql服务器中的mssage。

http://i.stack.imgur.com/F7qTs.png

[2] 如果我们要查询或上传的数据很大,选择Web服务是否更好?

4

1 回答 1

0

如果我正确理解您的问题,您是在询问使用服务总线实现 CRUD API 是否很好,可能必须传输相当大量的数据,并且包括确定是否可以对某些用户的凭据进行身份验证的能力.

我不认为我会这样做 - 在我看来,您最好使用擅长传输数据的同步API(“同步”,因为所有操作都有 1:1 的请求/响应相关性, 即使您的客户端库可能仍然具有进行同步调用的异步方式 - 它甚至可能提供执行高效async/ await) 的能力。

另一个问题是你是否真的更好地放弃远程处理,让你的 Web 应用程序能够直接对你的数据库执行 CRUD 操作。您仍然可以通过将实现隐藏在接口后面来使您的应用程序解耦。

如果您担心时间解耦,我会说当您决定公开返回类型不同于void;)的 API 时,您已经失去了时间解耦

那有意义吗?

于 2014-01-22T09:56:27.203 回答