首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

分布式一般性总结

分布式系统解决的主要矛盾是单机单节点的瓶颈问题。例如,性能和可用性。技术演进所使用的基本思想是分治和多副本。衍生出数据多副本,任务多副本,并行计算,移动计算,数据本地性等等。衍生的架构主要有主备架构,主从架构,无主对等架构。带来的新的矛盾是CAP定理中所阐述的在三个维度之间的平衡。技术难点主要体现在分布式数据一致性,分布式事务协调。例如,主备节点之间的数据一致性与可用性的平衡,分布式集群选主过程中的协调。衍生出的算法有Quorum,Paxos,Raft,ZAB,Lease等等。其他的衍生技术,例如,数据投递的三种一致性语义(精确一次、至少一次、至多一次),数据分区的四种常见方式(hash、等量、特征字段范围、一致性hash),日志的两种策略(全量、增量)。

04

老焦专栏 | 为什么需要用业务补偿服务和TCC 型服务实现数据一致性

分布式事务解决的问题很明确,就是在服务分布在不同进程、数据分布在不同数据库时,如何解决数据一致性问题。对于这个问题,业界的共识是不要启用数据库 XA 模式,因为分布式情况下,如果启用了 XA 事务,必然会有数据库锁存在,实际上造成了两个服务之间的耦合,与分布式服务的初衷背离,还不如部署在一起。在不使用 XA 的情况下,经常使用业务补偿和TCC(Try/Confirm/Cancel)模式的服务来解决:为什么有这样两种模式呢,他们有什么区别,各自适合什么样的场景,这两种模式是否带来了代码开发的复杂度?经常有人问我这样的问题,这里简单说明一下:

03
领券