Java 是否有可能同时使用交通网络和动脉来运行akka系统?

Java 是否有可能同时使用交通网络和动脉来运行akka系统?,java,scala,akka,Java,Scala,Akka,是否可以使用不同的传输方式(网络/动脉)运行两个应用程序并使它们相互通信? 例如: 如果系统A正在侦听tcp端口(netty)和系统B正在侦听udp端口(Athery),我们可以从B向A发送消息吗 当我尝试在系统B上创建一个actor ref时,如下所示: system.actor(“akka。tcp://akka-2-5@127.0.0.1:2525/user/actor-2-5“ 我遇到了错误:java.lang.IllegalArgumentException:[akka]的协议错误。tc

是否可以使用不同的传输方式(网络/动脉)运行两个应用程序并使它们相互通信? 例如: 如果系统A正在侦听tcp端口(netty)和系统B正在侦听udp端口(Athery),我们可以从B向A发送消息吗

当我尝试在系统B上创建一个actor ref时,如下所示:
system.actor(“akka。tcp://akka-2-5@127.0.0.1:2525/user/actor-2-5“

我遇到了错误:
java.lang.IllegalArgumentException:[akka]的协议错误。tcp://akka-2-5@127.0.0.1:2525/user/actor-2-5],预期[akka]

所以,看起来我需要配置我的actor系统,从两个传输系统开始。但我们如何才能做到这一点?
我正在寻找一种使用单参与者系统和不同akka传输(netty或artery)发送消息的方法,因为不同的微服务邻居可以使用不同的传输。

您不能在同一
参与者系统中同时启用artery和legacy远程处理。我能想到的唯一解决办法是使用两个actor系统,一个使用arthery运行远程处理,另一个使用legacy远程处理(不过这可以在同一个JVM中完成)


请注意,一般来说,Akka远程处理对于微服务间通信来说不是一个很好的协议,因为它可以将不同的微服务绑定到相同的Akka二进制版本、库和应用程序类,并强制您进行锁步升级(更多信息,请参阅Ben Christensen的本次演讲:).

UDP与Akka通信有什么关系?每个应用程序都需要配置自己的TCP端口号。@BobDalgleish在引擎盖下使用UDP。