分布式、CAP定理、集群/微服务区别

分布式

利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作

CAP定理

C(Consistency,一致性):读操作是否能读到前一个写操作的结果

A(Availability,可用性):非故障节点应该在合理的时间内作出合理的响应(但可能不是最新的数据)

P(Partition tolerance,分区容错性):当出现网络分区现象后,系统能够继续运行

在CAP定理中,三个条件只能同时选择二者,并且不能同时选择三者。

CAP怎么选

火车票,买票必须保证一致性,当前只剩余最后一张车票

银行转账 ,数据一定要可靠,但允许网络延迟

从分布式的角度一般选择CP或者AP,因为网络一般不会很可靠

在什么场合可用性高于一致性?网页更新,要先看到,再慢慢更新

支付、交易场合一致性要高于可用性,宁可不可用也不能让数据不一致

适合的才是最好的

一些大型网站一般选择AP,保证可用性,可以放弃短期内的一些数据一致性,但是一定要可用

集群、分布式、微服务的区别

分布式:一个业务分拆多个子业务,部署在不同的服务器上,各个机器之间通信

集群:同一个业务,部署在多个服务器上,各个机器之间可以没有通信

集群:分散压力

微服务:分散能力

微服务是一种架构设计方式,分布式主要强调一种系统部署方式

微服务是一种逻辑架构

经验分享 程序员 微信小程序 职场和发展