• 分布式


    一、什么是分布式

    权威定义:
      利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送消息合作。
    实际项目的演进过程
      一个项目,大而全
      多台机器,部署同样的应用
      分布式:权限系统、员工系统、请假系统

    二、分布式的作用

    1、为什么需要分布式

    实际工作中的痛点
      工程臃肿
      测试、上线繁琐
      开发效率低
    单体应用的问题
      应用代码耦合严重,功能扩展难
      新需求开发交互周期长,测试工作量大
      新加入的开发同事需要很长时间才能熟悉系统
      升级维护也很困难(改动任何一点地方都要升级整个系统)
      系统性能提升艰难,可用性低,不稳定

    2、分布式的好处

    增大系统容量
    加强系统可用
    因为模块化,所以系统模块重用度更高
    因为软件服务模块被拆分,开发和发布速度可以并行而变得更快
    系统扩展性更高
    团队协作流程也会得到改善
    技术升级

    三、分布式和单体结构的对比

    四、CAP定理

    1、CAP理论是什么?

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

    2、CAP怎么选择?

    CAP定理只能满足其中的两个,不可能全都满足,应根据自己的业务的侧重点选择其中两个。

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

    分布式:一个业务分拆多个子业务,部署在不同的服务器上
    集群:同一个业务,部署在多个服务器上

    集群:分散压力
    微服务:分散能力

    微服务:微服务是架构设计方式
    分布式:分布式是系统部署方式

  • 相关阅读:
    Markdown
    DNS解析流程
    maven 的各种命令
    ES6初体验——(1)let和const命令
    table相关的选择器 & children()与find()的区别 & 选择器eq(n)与nth-child(n)的差异
    Java MD5加密类
    POI操作Excel异常Cannot get a text value from a numeric cell
    MyEclipse+SSH开发环境配置
    JdbcTemplate详解
    Spring配置声明
  • 原文地址:https://www.cnblogs.com/michealyang/p/14143662.html
Copyright © 2020-2023  润新知