Integration / RabbitMQ Interview Questions
What is the difference between publisher confirms and transactions?
Both mechanisms let a producer verify that RabbitMQ actually received a message, but they differ enormously in cost and design.
| Publisher Confirms | Transactions (tx.select) |
| Asynchronous - broker sends ack/nack per delivery tag without blocking the publisher. | Synchronous - publisher calls tx.commit and blocks until the broker responds. |
| Can batch many outstanding confirms in flight at once. | Effectively one round trip per transaction, serializing publishes. |
| Orders of magnitude higher throughput in practice. | Significantly slower under load; largely considered legacy for this reason. |
Because of this gap, publisher confirms are the recommended approach for reliable publishing in modern RabbitMQ deployments, and transactions are rarely used outside of legacy code.
More Related questions...