一、微服务技术栈一览

模块关键内容详细知识点
微服务治理服务注册与调用、配置管理、网关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(最新技术栈)。

更多推荐