分布式一些概念
分布式系统定义:
分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。
分布式系统一些典型的问题:
通信异常:
分布式系统需要在各个节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险,比如说光纤被挖断了。另外,即使分布式系统各节点之间的网络通信能够正常进行,其延时也会远大于单机操作。通常一次正常的网络通信延迟在0.1~1ms左右,
网络分区:
CAP
C:Consistency,一致性。在分布式环境中,一致性是指数据在多个副本之间能否保持一致。
A:Avaliable,可用性。系统提供的服务必须一直处于可用的状态,对于用户的每一个请求总是能够在有限的时间内返回结果。
P:Partition tolerance,分区容错性。在遇到网络分区故障时,仍能提供满足一致性和可用性的服务,除非是整个网络都发生了故障。
因为在分布式系统中,网络问题是一个必定会出现的问题,因此分区容错性是分布式系统中必须要解决的问题,剩下的,需要我们根据业务特点,在一致性和可用性之间寻求平衡。
zookeeper集群是典型的CP,
redis集群是典型的AP,数据写入主节点后就返回,从节点是异步复制的,这样能保证更高的吞吐量。
nacos集群可配置,默认是。
BASE
BA:Basically Avaliable,基本可用。分布式系统在出现不可预知故障时,允许损失部分可用性,如响应时间稍微增加,业务降级等。
S:Soft state,软状态,是指允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
E:Eventually consistent,最终一致性,是指系统中所有数据副本,在经过一段时间的同步之后,最终能达到一致性。
浙公网安备 33010602011771号