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

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

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

额外补充

  • 在单体架构中所有的子模块都在统一进程里,不存在进程之间的调用,当一个模块想要调用另一个模块时直接注入实例,调用实例即可。
  • 微服务------将一个系统拆分成若干个独立的模块,运行于独立的进程中。每一个子模块也被叫做一个"微服务",并且每个服务都有属于自己的数据库,极大降低了事故发生的概率
  • 但对于微服务而言,模块间的调用跨越了进程。要想得到目标的实例可不能直接进行注入,于是就需要将一个个子模块,也就是微服务注册到Nacos(注册&配置中心)并进行相关配置,通过Feign实现服务间的远程调用,并使用Gataway做权限认证。为了保证微服务模块间消息的高可用与服务响应的速度则是使用到了异步通信工具MQ,这些治理的组件得到了Spring的整合,因此SpringCloud通常被拿来用作服务治理的方案。
相关推荐
Bowen_J13 小时前
Flutter 为什么能运行在 HarmonyOS 上
flutter·架构·harmonyos
玹外之音13 小时前
Spring AI 结构化输出转换器实战:告别字符串解析,拥抱类型安全
spring·openai
老迟聊架构13 小时前
系统性的理解分布式系统
后端·架构
up_dong13 小时前
你的 AI 代码全是“假绿灯”?用“反向测试”逼它自证清白
架构
爱跑步的程序员~14 小时前
SpringBoot集成SpringAI与Ollama本地大模型
java·后端·spring·ai·llama·springai
百锦再15 小时前
线程安全的单例模式全方位解读:从原理到最佳实践
java·javascript·安全·spring·单例模式·kafka·tomcat
百锦再15 小时前
Java synchronized关键字详解:从入门到原理(两课时)
java·开发语言·struts·spring·kafka·tomcat·maven
百锦再16 小时前
Java重入锁(ReentrantLock)全面解析:从入门到源码深度剖析
java·开发语言·struts·spring·kafka·tomcat·intellij-idea
知识即是力量ol16 小时前
口语八股—— Spring 面试实战指南(终篇):常用注解篇、Spring中的设计模式
java·spring·设计模式·面试·八股·常用注解
木斯佳17 小时前
前端八股文面经大全:腾讯WXG技术架构前端面试(2025-11-19)·面经深度解析
前端·面试·架构