Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Akka ActorSystem的名称有什么用途?_Akka - Fatal编程技术网

Akka ActorSystem的名称有什么用途?

Akka ActorSystem的名称有什么用途?,akka,Akka,我刚刚开始学习akka,不明白ActorSystem名称的用途 要在同一JVM或主机(需要远程访问)中运行多个参与者系统,它们无论如何都需要在不同的端口上运行 阿克卡。tcp://MySystem2@127.0.0.1:22222/用户/迎宾员 阿克卡。tcp://MySystem3@127.0.0.1:33333/用户/迎宾员 既然端口号是寻址方案的一部分,为什么地址中也有actor系统名称?就akka远程处理而言,是的,端口将起到区分作用,但并非所有系统都使用远程处理;这是一个附加组件。启用

我刚刚开始学习akka,不明白ActorSystem名称的用途

要在同一JVM或主机(需要远程访问)中运行多个参与者系统,它们无论如何都需要在不同的端口上运行

阿克卡。tcp://MySystem2@127.0.0.1:22222/用户/迎宾员 阿克卡。tcp://MySystem3@127.0.0.1:33333/用户/迎宾员


既然端口号是寻址方案的一部分,为什么地址中也有actor系统名称?

就akka远程处理而言,是的,端口将起到区分作用,但并非所有系统都使用远程处理;这是一个附加组件。启用远程处理的核心参和者库需要能够支持参和者被部署到同一JVM中的两个单独参和者系统中的概念,它们位于同一路径下,具有相同的名称,并且能够区分它们,这就是参和者系统的名称起作用的地方。假设这个演员做了一些日志记录。如果在同一个JVM中运行两个独立的actor系统,您将如何区分哪个实例(部署到system1中的实例或部署到system2中的实例)是生成日志消息的实例?通过在完全限定路径中包含参与者系统的名称,您将能够区分哪个是哪个


这是一个需要名字的简单例子,我相信人们可以把一些人和其他人联系起来。但是,从远程处理的角度考虑这一点并不是正确的思考方式。正如我前面提到的,远程处理是一个附加组件,构建在核心库之上。核心库需要这种区别,远程处理只是继承了它,即使它看起来不必要。

我还想补充一点,人类有名称而不仅仅是地址或UUID是有原因的。有时候谈论“system3”比谈论“194.256.119.4:4000”更容易