Akka ActorSystem的名称有什么用途?
我刚刚开始学习akka,不明白ActorSystem名称的用途 要在同一JVM或主机(需要远程访问)中运行多个参与者系统,它们无论如何都需要在不同的端口上运行 阿克卡。tcp://MySystem2@127.0.0.1:22222/用户/迎宾员 阿克卡。tcp://MySystem3@127.0.0.1:33333/用户/迎宾员Akka ActorSystem的名称有什么用途?,akka,Akka,我刚刚开始学习akka,不明白ActorSystem名称的用途 要在同一JVM或主机(需要远程访问)中运行多个参与者系统,它们无论如何都需要在不同的端口上运行 阿克卡。tcp://MySystem2@127.0.0.1:22222/用户/迎宾员 阿克卡。tcp://MySystem3@127.0.0.1:33333/用户/迎宾员 既然端口号是寻址方案的一部分,为什么地址中也有actor系统名称?就akka远程处理而言,是的,端口将起到区分作用,但并非所有系统都使用远程处理;这是一个附加组件。启用
既然端口号是寻址方案的一部分,为什么地址中也有actor系统名称?就akka远程处理而言,是的,端口将起到区分作用,但并非所有系统都使用远程处理;这是一个附加组件。启用远程处理的核心参和者库需要能够支持参和者被部署到同一JVM中的两个单独参和者系统中的概念,它们位于同一路径下,具有相同的名称,并且能够区分它们,这就是参和者系统的名称起作用的地方。假设这个演员做了一些日志记录。如果在同一个JVM中运行两个独立的actor系统,您将如何区分哪个实例(部署到system1中的实例或部署到system2中的实例)是生成日志消息的实例?通过在完全限定路径中包含参与者系统的名称,您将能够区分哪个是哪个
这是一个需要名字的简单例子,我相信人们可以把一些人和其他人联系起来。但是,从远程处理的角度考虑这一点并不是正确的思考方式。正如我前面提到的,远程处理是一个附加组件,构建在核心库之上。核心库需要这种区别,远程处理只是继承了它,即使它看起来不必要。我还想补充一点,人类有名称而不仅仅是地址或UUID是有原因的。有时候谈论“system3”比谈论“194.256.119.4:4000”更容易