(1)SOA
对单体应用的改进:引入SOA(Service-Oriented Architecture)面向服务架构,拆分系统,用服务的流程化来实现业务的灵活性。服务间需要某些方法进行连接,面向接口等,它是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在于操作系统进程中。各个服务之间通过网络调用,但是还是需要用些方法来进行服务组合,有可能还是个单体应用。所以要引入微服务,是SOA思想的一种具体实践。
微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想
(2)微服务概况
微服务是一种架构风格,将单体应用划分为小型的服务单元。
微服务架构是一种使用一系列粒度较小的服务来开发单个应用的方式,每个服务运行在自己的进程中,服务间采用轻量级的方式进行通信(通常是HTTP API),这些服务是基于业务逻辑和范围,通过自动化部署的机制来独立部署的,并且服务的集中管理应该是最低限度的,即每个服务可以采用不同的编程语言编写,使用不同的数据存储技术。
(3)微服务特性
独立运行在自己进程中;一系列独立服务共同构建起整个系统;一个服务只关注自己的独立业务;轻量的通信机制;使用不同语言开发;全自动部署机制。