call mediator阻塞模式和非阻塞模式有什么区别?根据wso2文档,两者都是同步调用,这两者有何不同。请帮助我理解什么时候使用(实时集成用例)这个调用,中介器阻塞和非阻塞模式。在哪些情况下,发送中介器不合适,只能使用调用中介器。我看到call = send+respond (在一个端点情况下)..使用的最佳实践是什么?call或send+respond..请给我们建议
发布于 2020-11-20 14:32:16
是的,您的理解是正确的,调用中介器阻塞模式和非阻塞模式都以同步方式工作。非阻塞模式的调用中介器使用直通传输,因此具有更好的性能。因此,建议在非阻塞模式下使用call mediator,除非在阻塞模式下有特殊要求。
阻塞和非阻塞模式的显着区别在于,在阻塞模式中,中介是在单个线程中执行的。在非阻塞模式下,线程将注册一个回调,并将该线程释放回池。当接收到响应时,一个新线程将获取响应并继续中介。这不会影响中介中的中介者的同步处理。因此,有些用例需要在单个线程中执行中介,其中一些用例如下所示:
如果您想要回滚失败的消息,请在JMS消息处理场景中使用
关于发送中介器,应该按如下方式进行更正。但它有一些不同之处。当我们使用调用中介器时,无序响应将返回到无序。在调用中介器之后,如果我们使用响应中介器,它将响应回客户端。
call+respond = send但是,当我们在无序中使用发送中介器时,响应将到达反序列。这是两个中介器之间的主要功能差异。因此,当涉及到如何使用它们时,这取决于您希望如何安排您的中介器。此外,发送中介器不具有配置阻塞和非阻塞的能力。它的功能类似于非阻塞调用中介器(在线程利用率方面)。
https://stackoverflow.com/questions/64924300
复制相似问题