auto commit

This commit is contained in:
CyC2018 2018-08-06 00:13:34 +08:00
parent 1366a2e149
commit 6e9e1d675e
3 changed files with 11 additions and 8 deletions

View File

@ -61,7 +61,7 @@ EXPIRE 指令可以为一个键值对设置一个过期时间,从而避免了
- 尝试从 N 个相互独立 Redis 实例获取锁,如果一个实例不可用,应该尽快尝试下一个;
- 计算获取锁消耗的时间只有当这个时间小于锁的过期时间并且从大多数N / 2 + 1实例上获取了锁那么就认为锁获取成功了
- 如果锁获取失败,到每个实例上释放锁。
- 如果锁获取失败,到每个实例上释放锁。
## Zookeeper 的有序节点
@ -124,9 +124,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点表示
## 2PC
两阶段提交Two-phase Commit2PC
通过引入协调者Coordinator来协调参与者的行为并最终决定这些参与者是否要真正执行事务。
两阶段提交Two-phase Commit2PC通过引入协调者Coordinator来协调参与者的行为并最终决定这些参与者是否要真正执行事务。
### 1. 运行过程
@ -152,7 +150,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点表示
(二)单点问题
协调者在 2PC 中起到非常大的作用,发生故障将会造成很大影响特别是在阶段二发生故障,所有参与者会一直等待状态,无法完成其它操作。
协调者在 2PC 中起到非常大的作用,发生故障将会造成很大影响特别是在阶段二发生故障,所有参与者会一直等待状态,无法完成其它操作。
(三)数据不一致
@ -214,7 +212,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点表示
BASE 是基本可用Basically Available、软状态Soft State和最终一致性Eventually Consistent三个短语的缩写。
BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
<div align="center"> <img src="../pics//bc603930-d74d-4499-a3e7-2d740fc07f33.png"/> </div><br>

View File

@ -13,7 +13,7 @@
### 1. 响应时间
指从某个请求发出到接收到响应消耗的时间。
指从某个请求发出到接收到响应消耗的时间。
在对响应时间进行测试时,通常采用重复请求方式,然后计算平均响应时间。
@ -79,7 +79,7 @@
实现可扩展主要有两种方式:
- 使用消息队列进行解耦,应用之间通过消息传递的方式进行通信;
- 使用分布式服务将业务和可复用的服务分离开来,业务使用分布式服务框架调用可复用的服务。新增的产品可以用过调用可复用的服务来实现业务逻辑,对其它产品没有影响。
- 使用分布式服务将业务和可复用的服务分离开来,业务使用分布式服务框架调用可复用的服务。新增的产品可以用过调用可复用的服务来实现业务逻辑,对其它产品没有影响。
# 四、可用性

View File

@ -107,6 +107,7 @@
* [10. 塑造模板函数](#10-塑造模板函数)
* [11. 以委托取代继承](#11-以委托取代继承)
* [12. 以继承取代委托](#12-以继承取代委托)
* [重构练习](#重构练习)
* [参考资料](#参考资料)
<!-- GFM-TOC -->
@ -1415,6 +1416,10 @@ public Manager(String name, String id, int grade) {
让委托类继承受托类。
# 重构练习
- [Refactoring Kata](https://github.com/aikin/refactoring-kata)
# 参考资料
- MartinFowler, 福勒, 贝克, 等. 重构: 改善既有代码的设计 [M]. 电子工业出版社, 2011.