我问了这个问题,有人build议我在这里问,这是有道理的。
我很好奇用于构build一个确保没有数据丢失的系统的技术是最重要的。 举一个简单的例子,一家金融机构做什么来确保在账户之间转账时,一旦从一个账户中提款,毫无疑问就把另一个账户存入账户。 我并不是在寻找诸如数据库事务这样的特殊技术,而是寻找更大,更具体的概念,比如在服务器closures的时候数据是如何保存的,或者是队列中的空间不足等等。
如果有人能指点我的书或文章,我会非常感激。
大量的计划已经完成,冗余被放入并且每一步都要确保数据不会很多。 使用冗余存储arrays,以便如果一个arrays失败,另一个arrays仍然有数据。 冗余服务器用于数据库,以便如果服务器出现故障或重新启动,数据库在几秒钟内就可用。
除了本地冗余之外,整个数据中心将被复制到另一个数据中心,以便在整个数据中心丢失的情况下,所有数据仍然可用,以便公司和客户保持正常运行。
对于所有通过数据库事务处理的资金转移和涉及多个服务器的分布式事务处理。
至于磁盘空间和类似的东西,警报是放在适当的位置,以便在队列填满警报之前很长时间,以便人们可以找出它为什么填满,然后或者增加更多的空间,如果填满是合法的,或者修复停止处理数据的事情。