要将消息从 NodeJS 发布者(我正在使用 bramqp,但问题是通用的)发布到 RabbitMQ(已确认,持久),应该采用什么通道池策略?
如果我创建一个巨大的池(20,000 +)并在每次需要发布时寻找一个免费频道,然后在我得到确认时释放频道(保留在免费池中),那么在高负载时,确认会延迟,因此创建了大量通道,导致 RabbitMQ 中的 erlang 进程迅速增加,从而降低了其性能。
如果我使用一个非常小的池或没有池进行管理,那么一旦速率很高,就会引发套接字错误,唯一的选择是重置完整的连接。
这里的最佳做法是什么?