微服务注册中心选型
CAP 定理
CAP定理是分布式系统设计中的核心理论,指出在一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)三者中,三者不可兼得,最多只能同时满足两项。 该定理由Eric Brewer于2000年提出,2002年被严格证明,成为分布式计算领域的公认定理。
| 分布式系统CAP定理 | |
| 数据一致性 (Consistency) | 所有节点在同一时间的数据完全一致,即每次读取操作都能返回最新的写入结果 优点: 数据一致,没有数据错误可能。 缺点: 相对效率降低。 |
| 服务可用性(Availablity) | 系统始终能响应请求,即使部分节点故障 响应结果可以是成功或者是失败。 |
| 分区容错性(Partition-torlerance) | 系统在网络分区或节点故障时仍能继续运作 分布式集群,数据被分布存储在不同的服务器上,无论什么情况,服务器都能正常被访问 |
| 定律:任何分布式系统只可同时满足二点,没法三者兼顾。 | |
| CA>放弃P | 仅适用于单机或非分布式环境,无法容忍网络分区。 如果想避免分区容错性问题的发生,一种做法是将所有的数据(与事务相关的)/服务都放在一台机器上。 虽然无法100%保证系统不会出错,但不会碰到由分区带来的负面效果。 当然这个选择会严重的影响系统的扩展性。 |
| CP>放弃A | 相对于放弃"分区容错性"来说,其反面就是放弃可用性。 一旦遇到分区容错故障,那么受到影响的服务需要等待一定时间。 因此在等待时间内系统无法对外提供服务。 |
| AP>放弃C | 优先保证可用性和分区容错性,允许数据短暂不一致。 短暂不一致,并不是完全放弃数据一致性,而是放弃数据的强一致性,而保留数据的最终一致性。 以网络购物为例,对只剩下一件库存的商品,如果同时接受了两个订单,那么较晚的订单将被告知商品告罄。 |
I have a dream : Sandy beach B-J-N.
浙公网安备 33010602011771号