一致性(Consistency)
:分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(Availability)
:集群出现故障节点后,是否还能响应客户端的读写请求。(对数据更新具备高可用性)
分区容忍性(Partition tolerance)
:实际中通信产生延时。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C点和A点之间做出选择。
月度归档: 2017 年 2 月
新到手raspberryPi3,先在这挖个坑
NAS服务器加BT下载机,据说功耗10W不到,比买什么群辉更有意义啊,哈哈哈哈哈。
晚上跑起来写个攻略
如何建造一个系统(迭代方式)
- 拿到一个问题(需求),先通过分析做一个简单的模型;
- 将简单的模型详细化(按照软件设计层级),但不需要多漂亮,达到能完成功能即可;
- 按照设计快速实现一遍;
- 按照使用者的角度使用一遍,提出一堆需求,然后重构,然后回到步骤2,直到软件结构能够较为清晰(最高目标当然是代码及目录结构可以自解释)
软件设计层级
- 先从整个软件系统的用途思考
- 分解软件系统为一个一个的package,并且package是如何交互的
- 接着分解成类,每个类要有明确的交互对象
- 分解成子程序(Function)
- 最后才是实际运行的代码
分成这些样子之外还要对同等级之间的相互访问进行限制,不同等级之间的尽可能在设计上就不要相互影响