什么是微服务,SpringBoot和SpringCloud的关系和区别

在上一篇文章中已经介绍了,那这个架构是如何演变过程的呢?那就先从几个架构开始。

1、单体架构

      单体架构简单来说,就是所有的功能(模块)都在一个项目,不同模块之间的调用只是类与类之前的引用而已;整个项目集成了前端与后端,并且部署运行在同一个tomcat下。目前有很多的项目都是单体项目,它的架构就如下图所示。     

(微服务)架构演变过程

   大型单体架构的缺点:

  • 开发困难,系统业务庞大,代码量及技术复杂,熟悉起来就耗时;
  • 部署时间长,部署时通常需要整个项目打包,停掉所有服务;
  • 稳定性差,一个小问题导致整个应用崩溃;
  • 扩展性差,对系统不能进行针对性的扩展;

2、SOA-面向服务架构

      由于单体架构不能适合更复杂的业务,相对银行业务系统而言。它们的系统会根据业务不同分为很多个子系统,并且将通用的功能开发成接口服务,供不同的子系统调用,如下图所示。

(微服务)架构演变过程

       但是不同的子系统开发平台有可能不一样,使用的技术会不一样,传输协议和数据格式也不一样。像这种需要解决不同的子系统之间互相调用,就可以利用ESB数据总线。ESB能实现不同协议报文之间的转换,各子系统接口先接入到ESB总线,由ESB进行路由选择,调用到指定的接口服务

(微服务)架构演变过程

        SOA面向服务的框架,解决了代码重用问题,提高了开发效率;解决了异构系统集成问题(标准化封装ESB);适合企业系统集成。

3、微服务架构

      微服务架构,则将应用系统的子模块单独划分为一个服务,划分的更明确;服务与服务之间的调用不再像以前一个靠类与类之间的引用,直接通过rest接口;服务的管理,通过注册中心统一维护;

(微服务)架构演变过程

微服务架构的优点:

  • 开发简单,业务划分明确,边界清楚,开发人员上手快;
  • 技术选择灵活,根据业务不同可以选择不同的技术平台进行开发;
  • 松耦合性,可用性强;
  • 可以根据需求进行及时扩展;

 

相关文章: