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(最新技术栈)。

相关推荐
爱吃山竹的大肚肚14 小时前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
鸽鸽程序猿20 小时前
【JavaEE】【SpringCloud】分布式事务 Alibaba Seata
分布式·spring cloud·java-ee
没有bug.的程序员21 小时前
Spring Cloud Sentinel:熔断降级规则配置与分布式流量防线实战终极指南
java·分布式·后端·spring cloud·sentinel·熔断规则·分布式流量防线
梵得儿SHI21 小时前
实战项目落地:微服务拆分原则(DDD 思想落地,用户 / 订单 / 商品 / 支付服务拆分实战)
spring cloud·微服务·云原生·架构·微服务拆分·ddd方法论·分布式数据一致性
努力也学不会java21 小时前
【Spring Cloud】优雅实现远程调用-OpenFeign
java·人工智能·后端·spring·spring cloud
m0_740043733 天前
【无标题】
java·spring boot·spring·spring cloud·微服务
编程彩机3 天前
互联网大厂Java面试:从微服务到分布式缓存的技术场景解析
redis·spring cloud·消息队列·微服务架构·openfeign·java面试·分布式缓存
Anastasiozzzz3 天前
Nginx和Ribbon的区别
后端·spring cloud·ribbon
码农水水3 天前
从 OpenFeign 到 RestClient:Spring Cloud 新时代的轻量化 HTTP 调用方案
java·运维·后端·spring·http·spring cloud·面试
what丶k4 天前
SpringBoot3 配置文件使用全解析:从基础到实战,解锁灵活配置新姿势
java·数据库·spring boot·spring·spring cloud