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

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

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

额外补充

  • 在单体架构中所有的子模块都在统一进程里,不存在进程之间的调用,当一个模块想要调用另一个模块时直接注入实例,调用实例即可。
  • 微服务------将一个系统拆分成若干个独立的模块,运行于独立的进程中。每一个子模块也被叫做一个"微服务",并且每个服务都有属于自己的数据库,极大降低了事故发生的概率
  • 但对于微服务而言,模块间的调用跨越了进程。要想得到目标的实例可不能直接进行注入,于是就需要将一个个子模块,也就是微服务注册到Nacos(注册&配置中心)并进行相关配置,通过Feign实现服务间的远程调用,并使用Gataway做权限认证。为了保证微服务模块间消息的高可用与服务响应的速度则是使用到了异步通信工具MQ,这些治理的组件得到了Spring的整合,因此SpringCloud通常被拿来用作服务治理的方案。
相关推荐
这是程序猿3 分钟前
基于java的SpringBoot框架汽车销售系统
java·spring boot·spring·汽车·汽车销售网站
今晚月亮有点圆3 分钟前
从 Demo 到生产:大模型应用七层架构全景指南
架构
Vic1010115 分钟前
Spring AOP 高级陷阱:为什么 @Before 修改参数是“伪修改“?
java·python·spring
Aoda23 分钟前
在 Monorepo 中如何让一个 TypeScript Shared 模块同时服务前后端 ,一次三天的挣扎与最终解法
架构
苏近之34 分钟前
Rust 基于 Tokio 实现任务管理器
后端·架构·rust
乾元37 分钟前
AI 驱动的网络攻防演练与安全态势推演——从“规则检测”到“行为级对抗”的工程体系
网络·人工智能·安全·web安全·架构·自动化·运维开发
Wang's Blog37 分钟前
Kafka: Admin 客户端操作指南之主题管理与集群监控
分布式·kafka
zhuzewennamoamtf44 分钟前
Linux驱动实现DMA支持
linux·spring boot·spring
踏浪无痕44 分钟前
像挑选书籍一样挑选技术:略读、精读,还是直接跳过?
后端·程序员·架构
源代码•宸1 小时前
goframe框架签到系统项目开发(用户认证、基于 JWT 实现认证、携带access token获取用户信息)
服务器·开发语言·网络·分布式·后端·golang·jwt