相反,我选择删除发送到缓冲通道的项目。这称为“溢出通道”,您会发现 ANisus 的答案在eapache/channels/overflowing_channel.go以下位置实现:for elem := range ch.input { // if we can't write it immediately, drop it and move on select { case ch.output <- elem: default: }}close(ch.output)但是该项目eapache/channels 也实现了其他策略:OverflowingChannelChannel以从不阻塞编写器的方式实现接口。具体来说,如果一个值OverflowingChannel在其缓冲区已满时(或者,在未缓冲的情况下,当接收者未准备好时)写入一个值,则该值将被简单地丢弃。对于相反的行为(丢弃最旧的元素,而不是最新的),请参阅RingChannel。