分布式系统架构演进

柔情只为你懂 2021-05-12 11:55 728阅读 0赞

技术为业务而生,随着业务不断的壮大,系统会遇到各种各样的瓶颈,为了解决这些瓶颈问题,催生了不同的架构。下面,我讲解一下一般大型分布式系统的架构演进。

20171219180118545

上图是阿里技术演进图,绝大多数系统基本上会按照这个流程发展。

1、单体应用(all in one):

以Java来说,可能只是一两个war包就解决了;这时的用户量、数据量规模都比较小,这样的架构既简单实用、便于维护,成本又低,成为了这个时代的主流架构方式。

2、垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,于是将应用拆成互不相干的几个应用,这样每个应用的压力大约有原来的1/n(粗略估计值),以提升效率。

3、分布式服务架构

当垂直应用越来越多,业务上跨应用的交互不可避免,这给垂直应用架构带来了很大的挑战,如何才能进行跨应用的交互呢?RPC的出现解决了这个问 题,RPC作为分布式架构的核心内容,在提高业务复用、业务整合、架构扩展等方面发挥着不可替代的作用。因为RPC的实现方式有很多种,单一语言、跨语言 都存在相应的开源产品(当然也可以自建),这为RPC的使用及推广奠定了良好的基础。

4、SOA

分布式架构中的服务越来越多,导致交互越发复杂,如何才能更好的管理复杂的调用关系、对整个服务集群进行动态控制。服务治理被引入来解决上述问题。

  1. 服务注册、服务发现;
  2. 服务降级;
  3. 流量控制;

个人理解,SOA就是分布式服务的一个升级版本,本质上还是分布式服务,只不过SOA为这种分布式的服务带来的复杂性提出了解决方案。

5、容器化:

随着分布式服务的数量不断增多,不可避免的遇到资源浪费现象(有的服务需要很少的资源,有的服务占用了绝大多数资源),同时会出现编译、打包耗时等问题;以及系统回滚费事、而且存在风险等;这是,容器化解决上述所有问题。

发表评论

表情:
评论列表 (有 0 条评论,728人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java 系统架构演进

    Java 应用一般架构 > 当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。 1. 不同系统不同

    相关 分布式架构演进过程

    一、什么是分布式架构 分布式系统(distributed system) 是建立在网络之上的软件系统。 内聚性:是指每一个数据库分布节点高度自治,有本地的数据库管理系

    相关 分布式系统架构演进

    技术为业务而生,随着业务不断的壮大,系统会遇到各种各样的瓶颈,为了解决这些瓶颈问题,催生了不同的架构。下面,我讲解一下一般大型分布式系统的架构演进。 ![2017121918