【SpringCloud】认识微服务

目 录

一.服务架构演变

单体架构

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。

优点:

  • 架构简单
  • 部署成本低

缺点:

  • 耦合度高

分布式架构

分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。

优点:

  • 降低服务耦合
  • 有利于服务升级拓展

服务治理

分布式架构的要考虑的问题:

  • 服务拆分粒度如何?
  • 服务集群地址如何维护?
  • 服务之间如何实现远程调用?
  • 服务健康状态如何感知?

微服务

微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征:

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
  • 面向服务:微服务对外暴露业务接口
  • 自治:团队独立、技术独立、数据独立、部署独立
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

总结

单体架构特点?

  • 简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统

分布式架构特点?

  • 松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝

微服务:一种良好的分布式架构方案

  • 优点:拆分粒度更小、服务更独立、耦合度更低
  • 缺点:架构非常复杂,运维、监控、部署难度提高

二.微服务技术对比

微服务结构

微服务这种方案需要技术框架来落地,全球的互联网公司都在积极尝试自己的微服务落地技术。在国内最知名的就是SpringCloud和阿里巴巴的Dubbo。

微服务技术对比

企业需求


三.SpringCloud

SpringCloud是目前国内使用最广泛的微服务框架。官网地址:点击此处https://spring.io/projects/spring-cloud

SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

其中常见的组件包括:

另外,SpringCloud底层是依赖于SpringBoot的,并且有版本的兼容关系,如下:

相关推荐
星期一研究室21 分钟前
飞书文档行文重点强调:五大招式,让你的信息“亮”起来!
微服务·产品·设计
wangjialelele26 分钟前
Spring Cloud 全体系学习笔记(REST、Nacos、Feign、Gateway)
java·spring boot·笔记·学习·spring·spring cloud·gateway
玖石书30 分钟前
ASP.NET Core迁移Spring对照系列:文件系统操作篇
spring·asp.net
xqqxqxxq1 小时前
吃透 Spring 高频注解(包含SpringMVC Spring Boot)
java·spring boot·spring
攻城有术13 小时前
专项攻克——spring、springMVC、springBoot、springCloud的启动流程
spring boot·spring·spring cloud
markinmarkin15 小时前
Spring 中有哪些方式可以把Bean 注入到IOC 容器?
java·spring
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ17 小时前
Spring‑AI Document 对象 JSON 字段详解
人工智能·spring·json
麻雀聊技术18 小时前
一重启 AI 就失忆?用 Spring AI + PostgreSQL 3步搞定“长期记忆”持久化(附完整代码)
java·spring·openai
he___H19 小时前
Spring-Configur注解
java·spring
铃木之影20 小时前
Java 版本 RAG 示例(Spring AI + Milvus)
java·人工智能·spring