azure-service-fabric - 来自 Reliable Actors 的邮箱中的消息是否有状态?
问题描述
每当主节点发生故障时,包括提醒在内的可靠参与者的状态都会恢复。但是,我在邮箱中找不到任何有关邮件的信息。这些消息会发生什么,它们是丢失了还是参与者恢复了这些消息?
我能找到的唯一信息如下:
因为 Actor 服务本身是一个可靠的服务,所以 Reliable Services 的所有应用程序模型、生命周期、打包、部署、升级和扩展概念都以相同的方式应用于 Actor 服务。
我不确定上面的引用是否包括来自演员邮箱的消息。
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-platform
解决方案
SF Reliable Actors 不使用与 Akka 相同的邮箱消息传递方法。
Akka 使用TELL方法,其中消息被发送给参与者并存储在邮箱中进行处理,一旦处理完成,参与者就会向调用者发送一条带有答案的消息。
SF 采用ASK方式,调用者一直在等待应答,因此没有邮箱,处理将根据从 actor 获取的锁定顺序进行,如果 actor 服务失败,调用和锁定将被丢弃。
因为对 Actor 的调用和重试由调用者管理,使用 ActorProxy,它会重新发送调用,并且会到达一个新的服务实例\副本,从而获得比以前新的优先级顺序。
推荐阅读
- php - PHP Try Catch 逻辑正确
- javascript - 在不同上下文中创建的 html 字符串中插入 JS 变量
- openmp - OpenMP 任务 - 以及“OpenMP if”的成本
- c# - ASP.NET Core 身份 [Authorize(Roles ="ADMIN")] 不起作用
- angular - 在订阅或使用 RxJS 的自定义运算符中做事情更好吗?
- python - 在 Beeware 上制作一个按钮打开一个窗口
- css - 在 React Material UI 中对齐文本
- python - 关于python虚拟环境的困惑
- c# - c#如何将对象转换为动态类型?
- javascript - 如何访问类函数内部的状态?