Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

TCP isn't guaranteed delivery if the receiver crashes; that's what queues and similar persistent systems are introduced to solve, but at-least-once is what you normally get outside of specialized two-phase (write then commit later) idempotent (so writing a second time is OK if the first one was never committed since your producer died and restarted from an earlier position, say) systems, AFAIK.


In theory you could simply wait with TCP ACK until you had committed to your ACID database and then TCP would in fact be exactly once.

I guess hardly anyone does this though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: