【分布式】—架构设计
1.2、分布式架构设计
1、SOA和微服务
SOA 各模块间相互调用,ESB来隔离各模块,各模块都走ESB。
特点:1.有序。2.复用。3.高效。
微服务架构:业务需要彻底的组件化和服务化
特点:1.组件化。2.按业务能力划分服务和开发团队。3.去中心化。4.基础设施的自动化。
差异:1、微服务没有强调ESB,而是到各个模块去组件化。
2、SOA注重的系统集成,微服务是完全独立完全分离。
2、领域驱动设计及业务驱动划分
3、分布式架构的基本理论CAP、BASE以及应用
a、分布式一致性的问题
数据一致性就是指在对一个副本数据进行更新的时候,必 须确保也能够更新其他的 副本,否则不同副本之间的数据 将不一致
那么如何去解决这个问题?按照正常的思路,我们可能会 想,既然是因为网络延迟导致的问题,那么我们可以把同 步动作进行阻塞,用户 2 在查询的时候必须要等到数据同 步完成以后再来做。但是这个方案带来的问题是性能会收 到非常大的影响。
所以我们没有办法找到一种能够满足数据一致性、 又不影响系统运行的性能的方案。
强一致性(保证数据一致性,但是会影响系统的性能。)、弱一致性(系统的性能很好,保证请求后有成功或失败返回,jin尽可能的保证某个时间内数据的一致性。)最终一致性(最终一致性是弱一致性的一个特例,系统 会保证在一定时间内,能够达到一个数据一致的状态。是弱一致性 中非常推崇的一种一致性模型,也是业界在大型分布式系 统的数据一致性上比较用的多的模型 )