3 ms·
If you're small then I agree. If you've got 100,000 concurrent users then this isn't going to work. 1,000,000 actions per minute means that all of the actions
by sjducb 3y ago
If you're small then I agree.
If you've got 100,000 concurrent users then this isn't going to work.
1,000,000 actions per minute means that all of the actions need a 99.9999% success rate to generate 1 error per minute.
Lots of 9's of reliability is hard.
Also. At that kind of scale you start observing lots of non-deterministic errors such as rare race conditions. As you drill into these rare race conditions you realise that they're affecting 0.001% of customers and you'd have to re-architect your system to eliminate them. You hit a point where it's not worth fixing those errors, so you build an error aggregating system to help ignore them.
- smashed 3y agoOf course any reasonable engineer is going to aggregate similar errors somehow? You don't need to read every single connection reset by peer or similar network errors..
- jacurtis 3y agoI agree with you, but the article specifically mocks error aggregators and says that there is more value in relishing each error. This is counter-intuitive, but seems to be what the article is suggesting.
- samus 3y agoThe authors essentially concur with this view. But comparatively few services have both such high traffic and reliability levels. For everything below, people reach for aggregation way too early.