102、SOA、分布式、微服务之间有什么关系和区别?

SOA、分布式、微服务之间有什么关系和区别?

  • 分布式架构是指将单体架构中的各个部分拆分,然后部署到不同的机器或进程中去,SOA和微服务基本上都是分布式架构师
  • SOA是一种面向服务的架构,系统的所有服务都注册在总线上,当调用服务时,从总线上查找服务信息,然后调用
  • 微服务是一种更彻底的面向服务的架构,将系统中各个功能个体抽成一个个小的应用程序,基本保持一个应用对应的一个服务的架构

额外补充

  • 在单体架构中所有的子模块都在统一进程里,不存在进程之间的调用,当一个模块想要调用另一个模块时直接注入实例,调用实例即可。
  • 微服务------将一个系统拆分成若干个独立的模块,运行于独立的进程中。每一个子模块也被叫做一个"微服务",并且每个服务都有属于自己的数据库,极大降低了事故发生的概率
  • 但对于微服务而言,模块间的调用跨越了进程。要想得到目标的实例可不能直接进行注入,于是就需要将一个个子模块,也就是微服务注册到Nacos(注册&配置中心)并进行相关配置,通过Feign实现服务间的远程调用,并使用Gataway做权限认证。为了保证微服务模块间消息的高可用与服务响应的速度则是使用到了异步通信工具MQ,这些治理的组件得到了Spring的整合,因此SpringCloud通常被拿来用作服务治理的方案。
相关推荐
国科安芯4 小时前
低轨卫星边缘计算节点的抗辐照MCU选型分析
人工智能·单片机·嵌入式硬件·架构·边缘计算·安全威胁分析·安全性测试
程序员侠客行4 小时前
Mybatis的Executor和缓存体系
java·后端·架构·mybatis
小王师傅664 小时前
【轻松入门SpringBoot】actuator健康检查(中)
java·spring boot·spring
我是人机不吃鸭梨5 小时前
Flutter AI 集成革命(2025版):从 Gemini 模型到智能表单验证器的终极方案
开发语言·javascript·人工智能·flutter·microsoft·架构
37手游后端团队5 小时前
Cursor 工作区使用技巧:让 AI 真正理解你的多项目协作
后端·面试·架构
递归尽头是星辰5 小时前
Elasticsearch实战:检索优化、聚合分析与架构落地体系化
大数据·elasticsearch·架构·检索优化·聚合分析
笙枫5 小时前
LangGraph Agent 架构基础:从概念到第一个可运行的Agent
开发语言·架构·php
回家路上绕了弯5 小时前
分布式系统重试策略详解:可靠性与资源消耗的平衡艺术
分布式·后端
海南java第二人5 小时前
Spring事务注解@Transactional参数详解与实战指南
spring
努力的小郑6 小时前
Spring AOP + Guava RateLimiter:我是如何用注解实现优雅限流的?
后端·spring·面试