1.什么是分布式
利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作。——Leslie Lamport
2.分布式的作用
实际工作中的痛点:工程臃肿;测试、上线繁琐;开发效率低。
单体应用的问题:应用代码耦合严重,功能扩展难;新需求开发交互周期长,测试工作量大;新加入的开发同事需要很长时间才能熟悉系统;升级维护也很困难(改动任何一点地方都要升级整个系统);系统性能提升艰难,可用性低,不稳定。
分布式的好处:增大系统容量;加强系统可用;因为模块化,所以系统模块重用度更高。因为软件服务模块被拆分,开发和发布速度可以并行而变得更快;系统扩展性更高;团队协作流程也会得到改善;技术升级。
3.分布式和单体结构的对比
4.CAP定理
- CAP的重要性
- CAP理论是什么?
C ( Consistency ,一致性):读操作是否总能读到前一个写操作的结果;
A( Availability,可用性):非故障节点应该在合理的时间内作出合理的响应;
P( Partition tolerance,分区容错性):当出现网络分区现象后,系统能够继续运行。
- 分区容错
- 一致性
- 可用性
- CAP怎么选择?
CP或者AP;在什么场合,可用性高于一致性?
适合的才是最好的。
如果是银行转账或者支付业务场景,优先保证一致性,选择CP;
如果是大型的门户网站,优先保证可用性,选择AP;
5.集群、分布式、微服务的区别
集群和分布式的区别
分布式:一个业务分拆多个子业务,部署在不同的服务器上;
集群:同一个业务,部署在多个服务器上;
集群和微服务的区别
集群:分散压力;
微服务∶分散能力;
微服务和分布式区别
微服务是架构设计方式;
分布式是系统部署方式;