DDIA学习笔记---第一章:可靠性,可扩展性,可维护性

一开始提到,现如今很多应用程序都是“数据密集型”,而非“计算密集型”。其实想想,对于我们普通群体来说,确实是这样的。就拿你自己手机上的大部分应用,社交,娱乐(游戏除外)类型基本都是“数据密集型”应用,而那些稍微专业点,涉及到图像处理,大型游戏等应用属于“计算密集型”了。因此,在可预见的时间内,我个人感觉数据密集型应用的使用频率和数量应该是更高的。

可靠性

  • 硬件故障

断电,洪水,地震,磁盘损坏等等非人为可控的因素,都会对系统造成影响。大家会使用“容灾性”这个词来考量这个系统能够经受故障的容忍程度。比如数据中心设置在不同的地点,为了防止某个地点发生不可避免的自然灾害,增加数据的备份,来防止单节点故障对系统的影响。硬件故障发生的可能性虽然不是那么大,但是这个因素必须要考虑。

  • 软件错误

是人多少都会犯错误,你或许会说只要经验足够,那么就可以减少去踩之前遇到的坑。你说的不错,但是业务需求是不断变更的,所以经常还是会遇到新的东西的。这个时候,编码过程细节就考虑不到位了,这个就得充分做好自检和程序上线之

你可能感兴趣的:(DDIA,DDIA)