关于SOA和微服务

面向服务的架构(SOA)

想象一下,你正在经营一家大型超市,超市里有各种各样的商品和服务。SOA 就像是超市的各个部门,比如生鲜区、家电区、收银台等等,每个部门提供特定的服务。这些服务(部门)通过一定的规则(如通信协议)相互协作,共同为顾客(即应用程序或用户)提供服务。在 SOA 中,服务的粒度可能比较大,一个服务可能包含多个功能,比如生鲜区可能同时提供蔬菜、水果和肉类的服务。

微服务

现在,让我们把这个超市变成一个市场,市场里有许多小摊位,每个摊位只卖一种东西,比如一个摊位只卖苹果,另一个只卖香蕉。这就是微服务的理念------每个服务都非常小,只负责一项具体的任务,而且这些服务是独立的,可以单独部署、扩展和升级。这就像市场里的摊位,你可以随时调整某个摊位的商品而不影响其他摊位。

微服务与 SOA 的关系

微服务可以看作是 SOA 的一个子集或一种进化,它继承了 SOA 的面向服务的原则,但是将服务的粒度细化到了极致。在微服务架构中,服务的边界更加清晰,每个服务只做一件事,这使得系统更加灵活、易于扩展和维护。

总结

  • SOA 是一个更广泛的概念,涵盖了多种服务架构的风格,服务的粒度可以从较大到较小。
  • 微服务 是 SOA 的一个特例,它强调极小的服务粒度,每个服务只关注单一职责,独立部署和扩展。

所以,微服务确实是面向服务架构的一种,但它通过进一步细化服务的粒度,实现了更高的灵活性和可维护性。

区别概要

思想上:微服务的目的是解耦而SOA的目的是实现数据的互通和共享性。

协议:微服务会使用一些轻量级的通信协议(Restful API)

基础设施要求,微服务更加强调开发运维的持续交付。

相关推荐
码客-ygluu5 小时前
X3 LUA 异步分布式微服务集群框架
c++·架构·lua
Decay__10 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
wangruofeng10 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构
Softmaxmap11 小时前
从零做一个中文小模型:600 亿 token 数据、mHC + Engram 结构、到强化学习的全流程(开源)
架构
你三大爷11 小时前
从 Hessian 迁移到 protostuff:深嵌套模型反序列化耗时与高并发类加载锁的根治实战
后端·架构
Star(up up up)13 小时前
Redis Windows 安装教程:使用Windows 的 Redis 压缩包
redis·笔记·学习·程序人生·云原生·学习方法·改行学it
小南家的青蛙14 小时前
Spring Cloud 微服务熔断限流实战
微服务
分布式存储与RustFS16 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
一条Go16 小时前
接收方合并去重:同一个人为什么只该收到一次通知
后端·架构·github
吴建旭 智宅焕17 小时前
智能家居全国交付标准化架构的轻重分离设计:重勘测节点与轻执行流程的系统实现
架构·智能家居