饥饿的消费者模型是在多个消费者进程间进行快速而粗糙的负载平衡的一种有效途径。
一般模型中我们设置一个中央调度器来处理所有的任务请求,对于线性事务则效率低下,对于并发事务,如果并发量大也会造成性能问题。
在 饥饿的消费者模型中,用一些独立的消费者任务和一个集中式的工作队列取代中央调度器。各个消费者任务从集中式的工作队列中抓取一项具体任务,然后对具体任 务进行处理,完成工作后再回到集中式工作队列里继续抓取任务进行处理。这样,如果任何特定的任务陷入停顿,其他任务仍然可以利用这一空闲继续进行工作。同 时集中式工作队列可以控制独立消费者任务的数量,达到性能最佳。
参考:《程序员修炼之道》28 时间耦合