SpringCloud01-初识微服务&SpringCloud

一、微服务技术栈一览

模块 关键内容 详细知识点
微服务治理 服务注册与调用、配置管理、网关 Eureka、Nacos、OpenFeign、Gateway、配置中心 Nacos
Docker 容器化与部署 Docker 原理、Docker 使用、Dockerfile、Docker Compose
异步通信 系统解耦、削峰 同步/异步、MQ 技术模型、Spring AMQP、消费者限流
分布式搜索 大数据搜索引擎 DSL 语法、HighLevelClient、拼音搜索、自动补全、竞价排序、地理搜索、聚合统计、分片集群
模块 关键内容 详细知识点
微服务保护 系统稳定性保障 流量控制、系统保护、熔断降级、服务授权
分布式事务 数据一致性保障 XA 模式、TCC 模式、AT 模式、Saga 模式
分布式缓存 高性能缓存架构 数据持久化、Redis 主从集群、哨兵机制、Redis 分片集群
多级缓存 缓存加速方案 多级缓存分层、Nginx 缓存、Redis 缓存、Canal 数据同步
可靠消息服务 消息不丢失、不重复、不积压 消息三方确认、惰性队列、延迟队列、镜像集群、仲裁队列
模块 关键内容 详细知识点
Nacos 源码 服务注册与发现机制 服务发现原理、服务注册原理、心跳机制、Nacos vs Eureka
Sentinel 源码 流控/熔断算法原理 滑动窗口算法、令牌桶算法、漏桶算法
Redis 热点问题 高并发缓存安全 分布式锁、缓存穿透、缓存击穿、缓存雪崩

二、认识微服务

2-1、单体架构

2-2、分布式架构

目前,解决以上为题的方案:微服务。

2-3、小结

微服务,就是分布式架构的最佳实践方案。

三、主流的微服务技术

3-1、每个组件是什么?

服务网关

所有外部用户访问系统,要先经过它。

就像 公司前台

  • 用户不会直接接触内部服务

  • 网关会根据请求分配任务到具体服务

  • 还能做 权限检查、限流、防攻击

关键词:统一入口、过滤、转发、保护系统


服务集群

系统拆成很多服务,并且每个服务可能会启动多个实例。

就像有很多工人团队:

  • 用户服务(处理登录、信息)

  • 订单服务(负责下单)

  • 库存服务(减少库存)

  • 支付服务(处理付款)

而且每个服务都有多台机器 → 防止崩掉、支持高并发

这叫 集群

关键词:多实例、负载均衡、扩容


注册中心

每个服务启动时,必须来这里登记「我是谁,我在哪」

其他服务通过它找到彼此。

就像 公司通讯录/员工电话本

服务 地址 是否可用
用户服务 192.168.1.10:8080 在线
支付服务 192.168.1.11:9000 在线

代表技术:Eureka、Nacos、Consul


配置中心

用来统一管理配置,不要让每个服务自己保存配置文件。

就像 公司制度手册

  • 数据库账号、密码

  • 日志配置

  • 开关控制(比如开启活动模式)

只需改一个地方,所有服务都能自动更新,不用逐个修改。

代表技术:Nacos Config、Apollo、Spring Cloud Config

3-2、微服务技术对比

3-3、企业需求

四、初识SpringCloud

4-1、SpringCloud 与 SpringBoot

SpringBoot 专注于一个服务怎么写得简单好用;

SpringCloud 专注于很多服务之间怎么协同工作。

4-2、版本兼容关系

SpringCloud 依赖 SpringBoot,版本要匹配才能正常使用。不能乱搭配。

如果你是初学者:

推荐:SpringBoot 2.6.13 + SpringCloud 2021.0.5(稳定好用,教程多)。

如果你用 JDK17:

选择:SpringBoot 3.x + SpringCloud 2022.x(最新技术栈)。

相关推荐
踏浪无痕1 天前
手写Spring事务框架:200行代码揭开@Transactional的神秘面纱( 附完整源代码)
spring boot·spring·spring cloud
踏浪无痕1 天前
5个测试用例带你彻底理解Spring事务传播行为( 附完整源代码)
spring boot·spring·spring cloud
刘一说1 天前
Nacos 与 Spring Cloud Alibaba 集成详解:依赖、配置、实战与避坑指南
spring boot·spring cloud·微服务·架构
i***48611 天前
微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
java·spring cloud·微服务
兔子撩架构1 天前
Dubbo 的同步服务调用
java·后端·spring cloud
N***H4861 天前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
0***v7771 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
我是小妖怪,潇洒又自在1 天前
springcloud alibaba(四)OpenFeign实现服务调用
后端·spring·spring cloud·springboot
q***38512 天前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
m***66732 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel