我有一个使用jquery自动完成插件的Web应用程序,该插件实际上是通过ajax将包含已经输入文本框的文本的请求发送到我们的Web服务器,一旦Web服务器收到此请求,它就会被传递给RabbitMQ的。
我知道我们确实从使用消息传递中获益,但似乎使用它来阻止rpc调用是一种误用,在这种情况下像WCF这样的东西更合适,是这种情况还是被认为是可接受的架构?
答案 0 :(得分:3)
可以使用RabbitMQ执行RPC同步请求。 Here它的解释非常好,包括它的缺点!因此,它被认为是一种可接受的架构。不鼓励,但只要同步响应是强制性的,就可以接受。
可能的反作用是在中间添加RabbitMQ,您将为解决方案添加一些延迟。
但是,您可以获得可靠性,灵活性,可扩展性......
答案 1 :(得分:0)
你会从中得到什么好处?如果你将消息放入队列中,那么如果是同步的话,那就公平了吗?除非将消息放入队列的相同进程是删除它的那个进程,但是这几乎没用了吗?
现在,如果您要做的就是将消息放入队列并稍后处理它是盛大的。 此外,你有混合WCF的事实是恕我直言,这是一个可能不够清楚的症状。您可以使用WCF作为API网关,并使用它将消息写入队列,因此这不是关于WCF或队列,而是更像是同步与异步。
你提出想法的方式对我来说并不合适。