分布式系统架构演进

Posted 赶路人儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式系统架构演进相关的知识,希望对你有一定的参考价值。

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

分布式系统架构演进_架构

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

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

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

2、垂直应用架构

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

3、分布式服务架构

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

4、SOA

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

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

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

5、容器化:

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



以上是关于分布式系统架构演进的主要内容,如果未能解决你的问题,请参考以下文章

图解:传统架构到分布式服务化架构的架构演进

微服务架构之演进历程

1.凤凰架构:构建可靠的大型分布式系统 --- 服务架构演进史

1.凤凰架构:构建可靠的大型分布式系统 --- 服务架构演进史

大型分布式Web系统的架构演进

互联网架构的演变过程