1

我有一个包含用户列表的组件的情况。我需要向每个用户发送一封电子邮件,然后更新用户的记录以指示发送电子邮件的时间。

这似乎是 Akka 的一个很好的第一个用例。我认为获取用户列表的组件将是一个 Actor,并且将为每个出站电子邮件发送 Actor 创建一个单独的 Actor,它可以是多线程的。发送电子邮件的 Actor 将负责更新用户记录中的日期。

如果发送邮件的 Actor 失败,用户的记录将不会被完成,监督 Actor 将能够重新安排它。

那是正确的模型吗?还是主管应该负责更新用户记录?

或者这对 Akka 来说是一个糟糕的用例吗?

顺便说一句,我可以通过 SMTP 或网络服务发送邮件。我不认为这对讨论很重要,但我想我会提到它。

4

1 回答 1

2

当涉及 IO 时,我认为您不应该对事务性感到困惑。您无法保证电子邮件会被正确的人阅读、接收、接收、在一定时间内收到、被理解等。

只需发送电子邮件,然后更新数据库。快乐哈金!

于 2012-06-07T21:45:54.117 回答