知识卡片

确认机制吞吐量与复杂度权衡

专业/工作 · 592.f

内容

事务机制、普通confirm、批量confirm、异步confirm四种消息可靠发送方式构成一条权衡曲线:事务机制和普通confirm编程简单,但每发一条都要同步等待确认,吞吐量最低;批量confirm用”攒一批再确认”换取更高吞吐,代价是一旦某批被拒绝就要整批重发;异步confirm吞吐量最高,代价是需要在客户端维护一个未确认消息的有序集合,编程模型最复杂。发散:这是”可靠性保证越异步、吞吐量越高,但客户端状态管理负担越重”这一规律的具体案例——没有免费的高吞吐,只是把复杂度从协议交互转移到了客户端代码里。

参考来源

《RabbitMQ实战指南》第4章《RabbitMQ进阶》