本文共 1461 字,大约阅读时间需要 4 分钟。
SOA
的出发点是将整个系统打散,成为不同的功能单元,每个单元称为服务,服务之间需要中立的、与平台无关的方式定义的接口,以跨越不同的硬件平台、操作系统平台、编程语言,使得构建在各式各样的系统中可以以一种统一、通用的方式进行交互。 现在将SOA
进一步拆分,就成了微服务架构。
微服务是SOA
的一种特例,比传统SOA
的粒度更小。
微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP
的RESTful API
进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发、自动化测试案例以及独立部署机制。由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。
微服务架构就是将一个完整的应用从数据存储开始垂直拆分成多个不同的服务,每个服务都能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API
的方式互相调用。
微服务架构是用来开发应用的,这种应用会有很多小的服务来组成,这些服务都可以运行在自己的进程中,即可以实现独立部署,这些服务之间通过轻量级的通讯机制来进行交互,例如http
的交互方式,这些服务之间并没有非常强的技术上的关联,可以采用不同的技术栈、使用不同的数据存储形式。
DevOps
及两个披萨,每个服务的团队应该小而精并且具备完全自治的全栈能力按照不同的业务功能拆分成不同的微服务
把一个业务功能里面不同的模块或者组件进行拆分,例如把公共组件拆分成独立的基础设施下沉到底层,形成相对独立的基础设施层
DDD
就是驱动设计原则来进行拆分。一个微服务应该能够反映出业务的领域模型,使用领域驱动设计不但可以减少微服务环境中通用语言的复杂性,而且还可以帮助团队弄清楚领域的边界、理清上下文的边界
转载地址:http://sgiwi.baihongyu.com/