我有一个用例如下:
我需要在多个线程中分割我的计算,并且所有线程都需要在快速时间内将结果发送回主线程。
流量
但每个akka演员都是单线程的。我同时有多个查询。
如何在不进行任何查询等待计算的情况下快速提供多个查询。
akka适合此用例吗?如果是,我该如何建模呢?
答案 0 :(得分:0)
Akka非常适合这种应用!
t确实每个actor都是单线程的。也就是说,每个actor按顺序(一次一个)和同步(单线程)处理自己的消息。但你可以自由地创造出你喜欢的演员,并且这些演员完全不同步地操作。
换句话说,您可以为每个查询请求生成一个新的actor。每个actor以安全的单线程方式处理单个请求,但作为一个整体,您可以同时处理多个查询。
对于您所描述的用例,我会考虑将akka-io用于您的IO
图层以及类似balancing dispatcher模式的内容来划分查询工人。