SOA架构和微服务架构的比较

SOA架构
SOA全称(Service Oriented Architecture),中文意思为 “面向服务的架构”,它是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在于操作系统进程中,各个服务之间 通过网络进行调用。 跟 SOA 相提并论的还有一个 ESB(企业服务总线),简单 来说ESB就是一根管道,用来连接各个服务节点。为了集 成不同系统,不同协议的服务,ESB 做了消息的转化解释 和路由工作,让不同的服务互联互通;
在这里插入图片描述
在这里插入图片描述
SOA 所解决的核心问题
1.系统集成(技术层面):站在系统的角度,解决企业系统间的通信问题,把原先散乱、无规划的系统间的网状结构,梳理成 规整、可治理的系统间星形结构,这一步往往需要引入 一些产品,比如 ESB、以及技术规范、服务管理规范等, 这一步解决的核心问题是“有序” ;
2.系统的服务化(技术层面):站在功能的角度,把业务逻辑抽象成 可复用、可组装的服务,通过服务的编排实现业务的 快速再生,目的是把原先固有的业务功能转变为通用 的业务服务,实现业务逻辑的快速复用,这一步解决 的核心问题是“复用”;
3.业务的服务化(是以业务驱动把一个 业务单元封装成一项服务):站在企业的角度,把企业职能抽象成 可复用、可组装的服务;把原先职能化的企业架构转变为服务化的企业架构,进一步提升企业对外服务 能力,这一步解决的核心问题是 “高效”。

微服务架构
微服务架构和SOA架构类似,微服务是在SOA上做 的升华,微服务架构强调的一个重点是“业务需要彻底的 组件化和服务化”,即原有的单个业务系统会拆分为多个可 以独立开发、设计、运行的小应用。这些小应用之间通过 服务完成交互和集成。 组件表示一个可以独立更换和升级的单元,就像PC中的 CPU、内存、显卡、硬盘一样,独立且可以更换升级而不 影响其他单元。如果把PC作为组件以服务的方式构 建,那么这台PC只需要维护主板和一些必要的外部设 备。CPU、内存、硬盘都是以组件方式提供服务,PC需 要调用CPU做计算处理,只需要知道CPU这个组件的地 址即可。
微服务的特征 :
1.通过服务实现组件化
2. 按业务能力来划分服务和开发团队
3. 去中心化
4. 基础设施自动化(devops、自动化部署)
SOA 和微服务架构的差别 :
1.微服务不再强调传统SOA架构里面比较重的ESB企业 服务总线,同时SOA的思想进入到单个业务系统内部实 现真正的组件化
2.Docker容器技术的出现,为微服务提供了更便利的条 件,比如更小的部署单元,每个服务可以通过类似Node 或者Spring Boot等技术跑在自己的进程中。
3. SOA注重的是系统集成方面,而微服务关注的是完全分离 。

上一篇:领域驱动设计
下一篇:TCP,IP通信协议

猜你喜欢

转载自blog.csdn.net/lx_Frolf/article/details/83504206