分布式/集群/微服务
·
分布式:将一个系统划分为多个子系统,每个子系统在不同的服务器上运行,并通过网络通信进行协作
集群:一组相互独立的计算机系统协同工作,共同提供服务或处理任务,它们之间可以共享资源和负载均衡
微服务:一种架构风格,将大型单体应用分解为一组小型、自治的服务,每个服务有自己的业务逻辑和数据存储,服务之间通过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 |
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)