Hacker News new | ask | show | jobs
by Bogdanovich 3902 days ago
Reliable fetch is a feature, not a protocol requirement. You can use simple 'get work_queue' command to just get a message, or you can use 'get work_queue/open', 'get work_queue/close' - two phase fetch if you need a reliable fetch. You can also use 'get work_queue/close/open' command to acknowledge previous message and read a new one.
1 comments

Ok so you can switch between at-most-once and at-least-once guarantees. While nice to have both options in a message queue, my point still stands.

Each of these have trade-offs and the way it is architectured here, in the at-least-once case you will have to either remember all the processed messages or be prepared to process a message multiple times, whatever that means in your specific use-case.