分布式 九月 21, 2020

分布式事务相关

文章字数 4.5k 阅读约需 4 mins.

CAP 定理指出对于一个分布式系统来说,不可能同时满足以下三点:

  • 一致性 (Consistence): 等同于所有节点访问同一份最新的数据副本 (强一致性)
  • 可用性 (Availability): 每次请求都能获取到非错的响应,但是不保证获取的数据为最新数据
  • 分区容错性 (Partition tolerance): 系统中任意信息的丢失或失败不会影响系统的继续运作。

由 CAP 定理可知数据库的设计需要权衡取舍,所以可以把系统大致分为三类:

  • CA: 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大
  • CP: 满足一致性,分区容忍性的系统,通常性能不是特别高
  • AP: 满足可用性,...
查看全文

ROCKETMQ 九月 08, 2020

RocketMQ事务消息

文章字数 5k 阅读约需 5 mins.

2PC

2PC 把事务的执行分为两个阶段,第一个阶段即 prepare 阶段,这个阶段实际上就是投票阶段,协调者向参与者确认是否可以共同提交,再得到全部参与者的所有回答后,协调者向所有的参与者发布共同提交或者共同回滚的指令,用以保证事务达到一致性。

2PC 是几乎所有分布式事务算法的基础,后续的分布式事务算法几乎都由此改进而来,其优缺点非常明显:

  • 优点:在于已经有较为成熟的实现方案,比如 XA。
  • 缺点:XA 是一个阻塞协议。服务在投票后需要等待协调器的决定,此时服务会阻塞并锁定资源。由于其阻...
查看全文
0%