使用Erlang写程序的时候,经常会碰到一种情况:因为Erlang进程的mailbox是没有大小限制的,所以它会一直接受消息,直到Erlang节点内存溢出.在大多数情况下,我们可以通过限制消息生产者的频率来解决这个问题,而且也应该实现这一点.但是,有时候不太可能完全限制发给一个进程的所有消息,这时候,开发人员就需要通过丢弃消息来减轻负载. PO Box就是一个可以减轻负载的工具. 设计原则 PO Box是一个实现了消息缓冲区的功能的库.因为Erlang进程需要同时接收消息并做自身的工作,所以很有…