文章目录
  1. 1. 传统垂直架构
  2. 2. SOA
  3. 3. 微服务
  4. 4. 为什么选择spring cloud

传统垂直架构

传统垂直架构一般是在业务量非常小,业务系统非常简单的系统架构中使用,
在这个阶段一般采用SSH,SSM或者spring+mybatis)框架作为项目的关键技术,Struts负责web层逻辑控制、Spring负责业务层管理Bean、Hibernate/mybatis负责数据库操作进行封装,持久化数据。

paste image

如果公司进一步的做大,垂直子系统会变的越来越多,系统和系统之间的调用关系呈指数上升的趋势。

在这样的背景下,很多公司都会考虑服务的SOA化。

SOA

软件即服务,将单个业务软件系统作为接口提供服务。

SOA代表面向服务的架构,将应用程序根据不同的职责划分为不同的模块,不同的模块直接通过特定的协议和接口进行交互。这样使整个系统切分成很多单个组件服务来完成请求,当流量过大时通过水平扩展相应的组件来支撑,所有的组件通过交互来满足整体的业务需求。

paste image

SOA缺点;

微服务

微服务架构是 SOA 架构思想的一种扩展,更加强调服务个体的独立性、拆分粒度更小。
与SOA相比,有以下区别:

  • 微服务架构强调业务系统需要彻底的组件化和服务化,一个组件就是一个产品,可以独立对外提供服务微服务。
  • 不再强调传统SOA架构里面比较重的ESB企业服务总线
  • 微服务强调每个微服务都有自己独立的运行空间,包括数据库资源。
  • 微服务架构本身来源于互联网的思路,因此组件对外发布的服务强调了采用HTTP Rest API的方式来进行微服务的切分粒度会更小。

微服务优点:

  1. 通过分解巨大单体应用为多个服务方法解决了复杂性问题。
  2. 微服务架构模式使得每个微服务独立部署,开发者不再需要协调其它服务部署对本服务的影响。
  3. 微服务架构模式使得每个服务可独立扩展。
  4. 微服务可有效的拆分应用,实现敏捷开发和部署。

不足:

为什么选择spring cloud

  1. Spring Cloud来源于Spring,质量、稳定性、持续性都可以得到保证。
  2. Spirng Cloud天然支持Spring Boot,更加便于业务落地。
  3. Spring Cloud发展非常的快,从16年开始接触的时候相关组件版本为1.x,到现在已经发布了2.1.3系列
  4. Spring Cloud是Java领域最适合做微服务的框架。相比于其它框架,Spring Cloud对微服务周边环境的支持力度最大。对于中小企业来讲,使用门槛较低。Spring Cloud 是微服务架构的最佳落地方案
文章目录
  1. 1. 传统垂直架构
  2. 2. SOA
  3. 3. 微服务
  4. 4. 为什么选择spring cloud