我已经在MULE上探索了网络,并且了解到应用程序之间要进行通信 - 即使它们部署在同一个Mule实例中 - 它们也必须使用TCP,HTTP或JMS传输.
VM不受支持.
但是我发现这与ESB原则有点矛盾.理想情况下,我们应该能够在ESB中定义EndPoints并使用任何传输连接到它吗?我可能错了.此外,由于所有应用程序共享相同的JVM,人们希望能够通过内存中的VM队列进行通信,而不是依赖于无事务的HTTP协议或TCP,其中可以进行的连接数取决于服务器资源.即使对于JMS,我们也需要定义和管理另一个队列以及可能对性能产生影响的大量使用.虽然我同意如果我们有分布式和集群系统可能是HTTP或JMS将只是选项.
是否有任何计划将VM作为应用程序间通信协议进行合并,或者是否有其他方式可以让一个Flow与另一个Flow Endpoint通信但在不同的应用程序中?
编辑: - 来自Mulesoft的答案
http://forum.mulesoft.org/mulesoft/topics/concept_of_endpoint_and_inter_app_communication
是的,我们正在考虑将来版本的应用程序间通信.我们还要做什么时仍然不清楚,但我们对于我们希望这个功能如何表现有一些想法.我们可以创建一个服务器级配置,您可以在其中定义要在所有应用中使用的资源.在那里,您将能够定义VM连接器并使用它在同一服务器中的应用程序之间发送消息.正如我所说,这只是一个想法.