Akka 消息对于发送者-接收者对应该是唯一的吗?
Should Akka messages be unique for a sender-receiver pair?
最佳实践问题:
Akka 消息类型(案例 class)是否应该始终仅由单一类型的 actor 发送并仅由单一类型的 actor 接收?
示例:
三种演员类型:MainSender
、MainReceiver
、Worker
MainSender
发送消息 DoSomething(work)
到 MainReceiver
。
MainReceiver
将 DoSomething(work)
消息转发给 Worker
。
这是最佳做法吗?或者为另一个发送者-接收者对定义一个新案例 class 会更好吗?
MainSender
发送消息 DoSomething(work)
到 MainReceiver
。
MainReceiver
发送消息 StartWorking(work)
到 Worker
。
您完全可以向任何演员发送相同的消息,只要它在您的架构中有意义。完全鼓励重用您的代码。
正如您所建议的,这正是 forward
函数的作用。
同样的逻辑也适用于 Exception
:如果你想抛出一个 Exception
,你可以使用一个现有的,如果它符合你的需要,或者创建一个新的。
最佳实践问题:
Akka 消息类型(案例 class)是否应该始终仅由单一类型的 actor 发送并仅由单一类型的 actor 接收?
示例:
三种演员类型:MainSender
、MainReceiver
、Worker
MainSender
发送消息 DoSomething(work)
到 MainReceiver
。
MainReceiver
将 DoSomething(work)
消息转发给 Worker
。
这是最佳做法吗?或者为另一个发送者-接收者对定义一个新案例 class 会更好吗?
MainSender
发送消息 DoSomething(work)
到 MainReceiver
。
MainReceiver
发送消息 StartWorking(work)
到 Worker
。
您完全可以向任何演员发送相同的消息,只要它在您的架构中有意义。完全鼓励重用您的代码。
正如您所建议的,这正是 forward
函数的作用。
同样的逻辑也适用于 Exception
:如果你想抛出一个 Exception
,你可以使用一个现有的,如果它符合你的需要,或者创建一个新的。