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

Most large real-time systems (or near enough) must be eventually consistent due to speed of light delays between all nodes of the system.

Multiplayer video games have big problems with light speed. A user could be 100ms away from the server, and another 100ms in the other direction, so anything one user does, the other will see 200ms later. If the game wasn't eventually consistent, it would need to be a turn based game as 5 actions per second is too slow as most real-time games run 60-100 actions per second.

A bank account is also eventually consistent as transactions need several days to clear, causing the exact balance to be unknown. This is why a bank establishes an "available" balance as that is the most pessimistic estimation of an accounts balance.

Like with all things, designing a system as eventually consistent or as a leader-type really depends on the application, the team that is going to build it and the resources available to support it.



Where are bank transactions so slow? In the EU they take a few seconds now.


Its so mistakes can be corrected. The transaction will show up in the account in a few seconds, but it takes a few days to be final.




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

Search: