Actors是非常棒的抽象,允许大量并发,代码少得多。我一直在阅读使用Actors来表示域对象,例如用户,公司等,并让该对象保持自己的状态。这对我很好,但我的问题是:
如果我的系统拥有数以千计的用户和数十万家公司,那么将每个公司视为一个长期存在的演员是否务实?
我相信我尝试解决问题的方法可能不会像我想的那样扩展。我试图设计一个系统,用户可以在该系统中查看不同的公司信息,在该信息中是用户生成的公司数据列表。我想要从连接的用户演员向所有公司演员发送广播消息,以返回用户在给定日期范围内可以看到的所有信息。我可以从数据库驱动的模型中解决这个问题,但我对一个更加自我意识的对象模型感兴趣。
答案 0 :(得分:2)
演员很轻,创造成千上万不是问题。当您的解决方案有可能增长到数百万用户时,我会担心。此模型的好处可能无法证明内存占用。
一旦模特成长,演员的创作需要花费越来越多的时间。根据您的描述,您需要预先创建它们才能使用广播。
在不知道细节的情况下,很难判断出你的情况下演员模型的好处。基于你已经提到的,演员模型可能不是最合适的。