微服务架构是一种解决方案

企业应用架构演变: 单机程序->c/s->b/s->面向服务架构(SOA)->微服务架构

加粗的是单体程序

微服务架构

  细粒度SOA,是强调小型短暂组件的SOA,小即是美

  重点是服务,如何进行服务之间解耦

  每个服务组件都可以独立开发、构建、测试、部署

  自包含(如在容器中)

  轻量级进程

  使用REST风格web服务开发

  通过Http进行通信(一定需要通过HTTP通信么?)

  跟团队组织结构相关

  基本模式:(API网关+n个单体服务结构)

SOA

  公开基于简单对象访问协议(SOAP)

  中间件,如企业服务总线(ESB)很重要

  基于服务开发(表示层、服务层(可能按照业务服务分很多块服务API)、数据库)

单体服务

  经典n层结构(表示层、应用层、业务逻辑层、DAO、数据库)

单体服务缺点

  容易出现全局瘫痪性故障

  小问题可能导致整体部署

  难以实现频繁部署

  难以跟上最新技术

  难以满足业务增量需求

  加载、构建、理解、维护都费时

微服务优点

  可以解决单体服务那些缺点

  能与敏捷方法、CI/CD(Jenkins/TeamCity/TFS/AuzeDevOps)更好配合

微服务构建管道

  CI/CD构建过程: 清理代码、代码编译、执行单元测试、建立应用程序归档文件、在开发 QA等各种服务器上部署、执行功能和集成测试、创建映像容器、任何其他步骤、构建发布版本、标记发布版本

Docker 容器

  每个容器具有自己的用户命名空间

  依赖于基本的操作系统功能(如隔离服务)

  容器中的应用程序可以是用任何语言开发

  相互隔离

  

  

  

猜你喜欢

转载自www.cnblogs.com/PengQuanfeng/p/9809946.html