【发布时间】:2016-01-30 18:19:16
【问题描述】:
我正在使用 Akka.NET 为生产项目创建概念证明,但我遇到了查询概念理解问题。
情况如下:
CoordinatorActor 有数千个Hotel-Actors 的列表。
我想查询所有Hotel-Actors 在特定日期有空房的所有酒店。
当然,我可以通过它们进行查询并发送.Ask<> 请求以获取特定日期。持有所有任务的参考并做一个Task.WhenAll(requests)。但这感觉有点不自然。
或者,我可以一次向所有酒店(ActorSelection 或路由器)发送一条包含特定日期请求的广播消息,但我不知道他们何时所有回复了 @ 987654325@留言。
有没有人建议如何解决这个问题?
【问题讨论】:
-
你能详细说明一下真实情况吗?这样可以更轻松地推荐合适的解决方案。
-
场景是一个有很多酒店的预订网站,用户应该在特定日期看到可用的酒店。酒店是否可用的标准是相当复杂和充满活力的。也应该可以进行子选择,例如仅在特定区域内的酒店。
-
酒店“数据库”是否是 Akka 的好案例?似乎一些普通的数据结构就足够了,而且开销也更少。如果您需要一直询问所有酒店,那么每家酒店的一名演员似乎也值得怀疑。
-
可用性标准不是静态的,而是基于预订用户的历史和趋势。 Ever HotelActor 可以自己制造这种分歧。
标签: task-parallel-library akka.net