分布式架构应用的可用性和一致性问题

本文探讨了分布式系统中的CAP原则,指出在高可用性和一致性之间必须做出权衡。在互联网应用的新特点要求下,BASE原则成为解决这一问题的指导思想,它强调基本可用、弱状态和最终一致性。微服务架构与分布式系统紧密相关,必须考虑这些一致性与可用性的问题。通过微服务的设计和实施,可以实现高性能、高可用的分布式互联网应用。

前言

对于互联网架构该怎么做,存在着一定的误区,所以写此文章,抛砖引玉。

1. 传统应用的可用性和一致性问题

传统的单体应用架构,其高可用和一致性问题是两个独立的问题,两者并没有关联关系比如,传统的SQL数据库的事务通常都是支持ACID的强事务机制,所以单数据库的模式使得事务强一致性得到满足。

A代表原子性,即在事务中执行多个操作是原子性的,要么事务中的操作全部执行,要么一个都不执行;

C代表一致性,即保证进行事务的过程中整个数据库的状态是一致的,不会出现数据花掉的情况;

I代表隔离性,即两个事务不会相互影响,覆盖彼此数据等;

D表示持久化,即事务一旦完成,那么数据应该是被写到安全的,持久化存储的设备上(比如磁盘)。在可用性方面,传统单体应用并不一定要求7x24小时高可用,所以其高可用的架构设计依赖于业务需求。如果业务需要7x24小时不间断服务,那么完全可以通过存储冗余(如mirror,raid等),instance冗余(如oracle RAC,J2EE应用多节点部署,多个Http Server,F5 load balance)等方法提高系统可用性。

2. 分布式系统的cap原则

CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得

一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)

可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)

分区容错性(P)

通俗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

alpha xu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值