分布式:将一个系统划分为多个子系统,每个子系统在不同的服务器上运行,并通过网络通信进行协作

集群:一组相互独立的计算机系统协同工作,共同提供服务或处理任务,它们之间可以共享资源和负载均衡

微服务:一种架构风格,将大型单体应用分解为一组小型、自治的服务,每个服务有自己的业务逻辑和数据存储,服务之间通过API交互

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

网络分区:在一个分布式系统中,部分节点之间的网络通信中断了,导致整个集群被"割裂"成两个或多个互相无法通信的子群,但每个子群内部的节点之间依然可以正常通信

基本可用(Basically Available):分布式系统出现不可预知的故障时,系统允许损失部分可用性,但依然要保证核心功能可用

软状态(Soft State):允许系统中的数据存在中间状态,且该状态在不同节点之间同步时可以有延迟

最终一致性(Eventually Consistent):系统不追求任意时刻、所有节点的数据都完全一致(强一致性),但保证在没有新的更新操作前提下,经过一段时间的同步后,所有节点的数据最终都会达到一致的状态

要素 中文 含义 牺牲后表现
C 一致性 所有节点同一时刻看到的数据完全一致 用户可能读到旧数据
A 可用性 所有请求都能快速获得正常响应 部分请求可能超时或拒绝服务
P 分区容错性 网络分区时系统仍能继续运行 网络断开时系统停止服务
组合 牺牲的属性 核心特征 典型应用场景 经典技术栈
CP 可用性 (A) 宁可拒绝服务也要保证数据一致 金融支付、分布式锁、配置管理 Etcd, ZooKeeper, Consul
AP 一致性 (C) 宁可给旧数据也不拒绝响应 社交媒体、购物车、内容分发 Cassandra, Eureka, DynamoDB
CA 分区容错性 (P) 保证强一致且随时响应 单机数据库,非分布式系统 单机 MySQL, Oracle

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐