【发布时间】:2014-05-12 22:33:29
【问题描述】:
我有一个使用 jquery 自动完成插件的 web 应用程序,它本质上是通过 ajax 向我们的 web 服务器发送一个包含已输入文本框中的文本的请求,一旦 web 服务器收到此请求,它就会被移交给兔子MQ。
我知道我们确实从使用消息传递中受益,但使用它来阻止 rpc 调用似乎是一种误用,在这种情况下,像 WCF 这样的东西更合适,是这种情况还是它被认为是可接受的架构?
【问题讨论】:
-
显然这取决于您的应用程序,您可以使用队列进行 RPC 调用,但我认为这不是它的自然用途。为了帮助你,我有两个问题:1.你为什么使用同步调用? 2.您目前的申请有问题吗?无论如何,我不知道您正在使用哪种语言开发应用程序,但我认为您可以使用 RabbitMQ 的异步调用并使用 Spring DeferredResult 等技术从队列中获取结果。我不太喜欢同步调用,因为你阻塞了线程(例如在你的数据库搜索期间)。
-
1.我们对自动完成插件有同步调用,您必须对请求 2 做出响应。除了我认为在这种情况下这是滥用消息传递之外没有问题,我想更改它,我正在寻找证据支持这个改变。