美文网首页
Actor使用

Actor使用

作者: 某人在 | 来源:发表于2019-07-08 18:27 被阅读0次

ET的Actor消息提供两种使用方法,假设a是一个Entity,在A服务器上,挂载了MailBoxComponent成了一个Actor,B服务器需要向a发送actor消息。

1. B知道a的InstanceId,这个时候,B调用ActorMessageSender.GetWithActorId(long actorId)方法获取ActorMessageSender发送消息即可。

2. B只能知道a的Id,因为a的InstanceId并不固定,这时可以让a创建后调用MailBoxComponent把自己注册到location上去,这样B调用ActorMessageSender.Get(long id)获取ActorMessageSender发送消息即可。

知道actor的原理就知道为什么有这两种模式:

1. 第一种,是最普通的actor消息,erlang就是第一种actor,因为instanceId中已经带有了对象的地址信息,所以,知道instanceId就知道了对象的地址,ActorMessageSender就能把消息发送到a所在的正确的服务器上。消息到了A服务器又能根据InstanceId找到a对象,这样自然能把消息发给a

2. 第二种,如果B服务器无法知道a的InstanceId,比如a有可能从一个进程切换到另外一个进程,这种情况很常见,比如从一个场景传送到另外一个场景。a的instanceId是会变化的。怎么保证B进程发送给a的消息能正确呢?这个时候就在创建a的时候把instanceId注册到location上去(调用AddLocation),这样ActorMessageSender会去location获取a的instanceId。然后把消息发送给a。

相关文章

  • Scala学习笔记:Actor & Future

    关于scala的Actor和经常配合使用的Future Actor Creating Actor & best p...

  • Unreal4 设置和获取 Actor 引用 0006bate1

    设置和获取 Actor 引用 使用 Actor 引用在关卡中移动不同的 Actors。 通过建立对 Actor 的...

  • Actor使用

    ET的Actor消息提供两种使用方法,假设a是一个Entity,在A服务器上,挂载了MailBoxComponen...

  • IOT开源数据平台Thingsboard源码分析(三)-Acto

    Actor模型在异步处理中使用广泛,尤其是scala语言中actor框架的使用。本篇主要介绍thingsboard...

  • 002鼠标滑过Actor响应事件

    Event Actor Begin Cursor Over 使用鼠标界面时,鼠标光标在 Actor 上悬停时执行的...

  • AKKA介绍(二)

    上一篇提到,Akka是Actor内单线程编程模型,不共享状态,使用消息在actor间通信。有效的提升actor内的...

  • actor模型

    概述 本文主要介绍actor模型的定义和使用场景,最后介绍一个使用akka的例子。 actor模型定义 在许多并发...

  • Akka Stream之集成

    与Actor集成 为了将流的元素作为消息传递给一个普通的actor,你可以在mapAsync里使用ask或者使用S...

  • Actor学习

    Actor有点类似有Java中的线程,使用class或者object继承Actor对象即可,跟Java的线程也有点...

  • 创建高性能的索引 1

    索引基础 如果 actor_id 列上有索引,这 MySQL 将使用该索引找到 actor_id 为5的列,也就是...

网友评论

      本文标题:Actor使用

      本文链接:https://www.haomeiwen.com/subject/cwiahctx.html