单体架构,SOA,微服务

落日映苍穹つ 2022-05-29 10:29 440阅读 0赞
  1. [单体架构,SOA,微服务][SOA]

架构演进

单体架构
SOA
微服务

单体架构

一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。
架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格。

单体架构的缺点

复杂性逐渐变高
技术债务逐渐上升
部署速度逐渐变慢
阻碍技术创新
无法按需伸缩

#

SOA

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。

微服务

微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。

其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。

这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。

这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。

对这些微服务我们仅做最低限度的集中管理

微服务特点:

  1. 每个微服务可独立运行在自己的进程里;
  2. 一系列独立运行的微服务共同构建起了整个系统;
  3. 每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等;
  4. 微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。

微服务优点:

易于开发和维护
启动较快
局部修改容易部署
技术栈不受限
按需伸缩
DevOps

微服务挑战

运维要求较高
分布式的复杂性
接口调整成本高
重复劳动

微服务设计原则

单一职责原则
服务自治原则
轻量级通信原则
接口明确原则

发表评论

表情:
评论列表 (有 0 条评论,440人围观)

还没有评论,来说两句吧...

相关阅读

    相关 服务单体架构

    微服务架构和单体架构是设计和构建应用程序的两种不同方法。以下是两者之间的主要特征和差异的比较: 整体架构: 结构:在整体架构中,整个应用程序作为单个统一单元开发。所有组

    相关 服务SOA架构

    一、前言 面向服务架构(SOA)已经存在很多年了,这是一种用于设计软件的伟大原则。在SOA中,所有组件都是独立自主的,并能为其它组件提供服务。要替换掉系统中的某些部分而不对整