分布式系统:从本地扩展到集群部署的实践指南
1. 本地应用的扩展与并行处理
在本地应用中,为了充分利用多核硬件的性能,我们需要进行并行工作。其中,使用 BalancingPool 和 BalancingDispatcher 是一种有效的方法。
BalancingPool 为本地 actor 提供了比 RoundRobinGroup 更好的选择。它会在池中的所有 actor 之间共享一个邮箱,并通过“工作窃取”机制将负载重新分配给空闲的 actor。这意味着所有 actor 都从同一个邮箱中提取消息,从而确保在有工作要做时没有空闲的 actor。
以下是使用 BalancingPool 和 BalancingDispatcher 的具体步骤:
1. 配置 BalancingDispatcher 执行器 :在 application.conf 中配置默认的 BalancingDispatcher 执行器,使其拥有 8 个线程。
//Dispatcher for BalancingPool
pool-dispatcher {
fork-join-executor { # force it to allocate exactly 8 threads
parallel
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



