Hacker News new | past | comments | ask | show | jobs | submit login

> you can have an exactly-once guarantee within this small system

It's actually harder to do this in a small system. I submit a message to the queue, and it's saved and acknowledged. Then the hard drive fails before the message is requested by a consumer. It's gone. Zero deliveries, or "at most once".

> If the DB is full, you can't get new messages and they might get dropped

In this case, I'd expect the producer to receive a failure, so technically there's nothing to deliver.

> if the threads picking up events get stuck or die

While this obviously affects delivery, this is a concurrency bug and not a fundamental design choice. The failures folks usually refer to in this context are ones that are outside of your control, like hardware failures or power outages.




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

Search: