一、分布式
1、对分布式的理解
分布式系统是为了解决传统单体服务架构带来的各种问题,如代码量庞大,迭代维护困难,动一发而牵全身。分布式系统将一个大的服务拆分成几十个或上百个微小的服务。
2、 分布式环境的优缺点
优点:
1)可用性提升。单点故障不至于造成整个服务不可用。
2)并发能力提升。集群,水平扩展。
3)低延迟。根据CDN内容分发,会将服务请求分发到离用户ip距离最近的服务器,降低网络延迟,也可以减少前端带宽的占用。
缺点:
1)依赖网络。一个完整的服务请求依赖一连串服务调用,任意服务节点网络出现问题,都可能造成请求失败。
2)维护成本高。从一个服务变为几十甚至上百个服务,增加了运维成本。
3)一致性、可用性、分区容错性无法同时满足。CAP理论,根据实际情况牺牲其一。
3、分布式和微服务的区别
1)分布式的优缺点在微服务中都有体现
2)微服务颗粒度比分布式更细
3)一个微服务一个数据库。
二、幂等性
1、概念
对同一操作发起一次或多次请求,产生的结果是一致的。不会因为多次点击而产生了副作用。
2、相关操作
在增删改查4个操作中,尤为注意就是增加或者修改,查询对于结果是不会有改变的,删除只会进行一次,用户多次点击产生的结果一样,修改在大多场景下结果一样,增加在重复提交的场景下会出现。