分布式基础理论

举报
长路 发表于 2022/11/28 20:03:00 2022/11/28
【摘要】 文章目录前言分布式使用场景分布式作用CAP定理集群、分布式、微服务的区别 前言 本篇博客是介绍分布式基础,主要介绍SpringCloud中的基础组件,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 分布式使用场景 集群部署:把我们同样的一个单体应用部署到很多服务器上去,最后在前面加一个负载均衡。 不让厨师做所有的事情,而是根据领域雇佣相对应的人(专业人做专业的事)。

@[toc]

前言

本篇博客是介绍分布式基础,主要介绍SpringCloud中的基础组件,若文章中出现相关问题,请指出!

所有博客文件目录索引:博客目录索引(持续更新)

分布式使用场景

集群部署:把我们同样的一个单体应用部署到很多服务器上去,最后在前面加一个负载均衡。

不让厨师做所有的事情,而是根据领域雇佣相对应的人(专业人做专业的事)。

  • 将一个大的服务进行拆分成多个功能,不同的功能只负责自己的事情。未来我们在需要多个商品目录系统的时候,只需要多加几个商品目录的模块,更加不需要将整套服务来进行部署,此时我们完成了将单体应用变为集群升级成了分布式架构!

实际项目:

  • 一开始时候往往不会直接进行分布式,而是一个大而全的项目;
  • 之后业务发展了我们将项目部署到多台服务器上,也就是建立集群通过负载均衡来进行浏览量控制;但是到后期其效率并不高,例如请假系统或者其他系统用的不是很多,建立集群相当于将整个系统复制了多份,对应其请假系统也同样会被复制;
  • 对于此时我们可以将其升级为分布式的,权限只管权限,员工只管员工,请假只管请假,此时这种情况,各个服务之间都是相互独立的,并且对应接口是进行相互调用的。此时就可以只有一个请假系统,多个员工系统,根据自己的实际需要来进行分布式拆分。

分布式作用

  • 实际工作痛点:工程臃肿、 测试上线繁琐、开发效率低。
  • 单体应用问题:①应用代码耦合严重,功能扩展难。②新需求开发交互周期长,测试工作量大。③升级维护困难,改动任何一点地方就要升级整个系统。④系统性能提升艰难,可用性低,不稳定。
  • 分布式好处:①增大系统容量。②加强系统可用。③模块化后,系统模块重用度更高。④软件服务模块被拆分,开发和发布速度可以并行变得更快。⑤系统扩展性更高。⑥团队协作流程将会得到改善。⑦技术升级

CAP定理

  1. CAP重要性:分布式中最基础最关键的理论

  2. CAP理论:分区容错、一致性、可用性

    C(Consistency,一致性):读操作是否总能读到前一个写操作的结果。
    A(Avaliability,可用性):非故障节点应该在合理的时间内作出合理的响应。
    P(Partition tolerance,分区容错性):当出现网络分区现象后,系统能够继续运行。
    
  3. CAP如何选择?

    CAP理论中不存在CAP三个内容重叠的情况,不可兼得,一般都是两个重叠CACPAP
    场合:
    1、可用性高于一致性(AP):也就是选择AP而不是CP,有一个网站,有一个cdn,cdn就是指为了给网页加快速度去发布到特别多的集群上去,如你在杭州看到的是一个杭州节点的页面,在其他地域看到的是另一个域的页面,有更新的话会慢慢进行同步,但是这个同步是需要有时间的并不是立即会同步的,对于网页的更新并不是那么注重一致性,但是也会慢慢的会对一致性进行保证。归根结底就是说无论如何一定要能够看得到网页。若是你选择一致性而不是可用性,那么在同步期间就看不到东西,往往来讲看到更重要,是不是最新的往往不是最关键。
    2、一致性高于可用性(CP):支付场合,支付与交易,我可以允许暂时不可用,但是不能不一致,若是不一致会造成很大的问题如转账。宁可说服务不可用指定时间内访问不了,也不会说舍弃我们的一致性。
    

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

集群与分布式区别:
	分布式:一个业务分拆分多个子业务,部署在不同的服务器上
	集群:同一个业务,部署在多个服务器上
集群与微服务区别:
	集群:分散压力
	微服务:分散能力
微服务与分布式区别(一般先做逻辑架构,接着做物理架构)
	微服务:架构设计方式,将一个大的服务拆成一(个个小的服务,每个服务对应一个功能只做一件事,能够独立部署,服务之间能够通过通信来进行调用,每个服务能够进行独立开发进行测试。(逻辑角度来对项目进行拆分)
	分布式:主要强调的是一种部署的方式。(部署的角度,主要考虑机器与机器之间他们会遇到哪些通信上的问题,时间上的不一致,调用顺序,容错,考虑的实际部署之后机器之间的物理的架构)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。