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

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

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

额外补充

  • 在单体架构中所有的子模块都在统一进程里,不存在进程之间的调用,当一个模块想要调用另一个模块时直接注入实例,调用实例即可。
  • 微服务------将一个系统拆分成若干个独立的模块,运行于独立的进程中。每一个子模块也被叫做一个"微服务",并且每个服务都有属于自己的数据库,极大降低了事故发生的概率
  • 但对于微服务而言,模块间的调用跨越了进程。要想得到目标的实例可不能直接进行注入,于是就需要将一个个子模块,也就是微服务注册到Nacos(注册&配置中心)并进行相关配置,通过Feign实现服务间的远程调用,并使用Gataway做权限认证。为了保证微服务模块间消息的高可用与服务响应的速度则是使用到了异步通信工具MQ,这些治理的组件得到了Spring的整合,因此SpringCloud通常被拿来用作服务治理的方案。
相关推荐
bitt TRES18 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud
舒一笑20 小时前
用几十行代码搞定 Chat 接口透明转发:跨环境轻量级网关实战
后端·程序员·架构
狼爷21 小时前
短视频播放量(Views)计数系统实现方案:高并发、不丢数的工业级实践
后端·架构
布吉岛的石头1 天前
微服务网关统一鉴权、限流、日志实战
java·spring·微服务
Dabei1 天前
Android 副屏(Virtual Display)创建与悬浮窗画中画显示实战
前端·架构
程序员老邢1 天前
【产品底稿 12】工程架构最终定型:完整模块拆分、分包规范、层级依赖与开发规约全清单
微服务·架构·springboot·多模块·技术债务
wxin_VXbishe1 天前
springboot新能源车充电站管理系统小程序-计算机毕业设计源码29213
java·c++·spring boot·python·spring·django·php
万事大吉CC1 天前
【1】Django 基础:MTV 架构与核心组件
数据库·架构·django
Reart1 天前
从0解构tinyWeb项目--(Day:10)
前端·后端·架构
Java后端的Ai之路1 天前
大模型数据飞轮核心技术一篇讲透:原理、架构、企业级案例与2026最全实践指南
人工智能·python·架构·数据飞轮