有没有人知道erlang标准库中是否存在某种"负载均衡器"?我的意思是,如果我对一组非常大的数据进行一些非常简单的操作,那么为每个项目构建一个进程的开销将大于按顺序执行操作.但是,如果我可以在"正确数量"的过程中平衡工作,它会表现得更好,所以我基本上都在询问是否有一种简单的方法来完成这项任务.
顺便问一下,有人知道OTP应用程序是否会进行某种平衡负载吗?我的意思是,在OTP应用程序中有一个"工作进程"的概念(就像一个java-ish线程工作者)?
参见模块pg2
和pool
.
pg2
实现非常简单的分布式进程池.pg2:get_closest_pid/1
返回"最近"的pid,即随机本地进程(如果可用),否则为随机远程进程.
pool
实现以模块启动的节点之间的负载均衡slave
.