系统架构的演变过程

随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。
系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构 。
1.单体应用
系统架构的演变过程

    优点:
        架构图简单易懂
        对于一些小项目来讲,开发维护比较的简单
        部署在一个单点的tomcat上面,后期维护比较的方便

    缺点:
      对于大型项目来讲,分工,维护比较的困难
      模块之间紧密耦合,单点容错率比较的低
      无法单独的对一个模块进行水平的扩展

2.垂直应用架构

系统架构的演变过程

        优点:
            系统拆分之后就可以进行水平扩展和优化,提高了单点的容错容错性
        缺点:
            系统之间无法相互调用,会有一部分的重复的代码

3.分布式的架构
系统架构的演变过程

        优点:
                将基础服务进行了抽取,系统间相互调用,提高了代码复用和开发效率
        缺点:
                系统间耦合度变高,调用关系错综复杂,难以维护

4.SOA架构
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键
系统架构的演变过程

         优点:
         使用服务治理中心,帮我们维护复杂的调用关系
         缺点:
         服务有依赖性,可能会因为一个服务的问题,导致其它的服务不可调用的问题。

5.微服务架构
系统架构的演变过程

        优点: 
        服务原子化的拆分,独立打包,部署和升级,保证每个微服务清晰的任务划分,利于扩展
        缺点:
        分布式技术开发的成本高(容错,分布式事务等)

猜你喜欢

转载自blog.51cto.com/14613614/2614850