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 Cloud 微服务】-- 服务拆分原则
java·spring cloud·微服务
灰小猿2 天前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
黄暄2 天前
微服务面试题(14题)
java·spring cloud·微服务·架构·java-rabbitmq·java-zookeeper
编啊编程啊程3 天前
【029】智能停车计费系统
java·数据库·spring boot·spring·spring cloud·kafka
我要去腾讯3 天前
Springcloud核心组件之Sentinel详解
java·spring cloud·sentinel
许心月3 天前
坑#Spring Cloud Gateway#DataBufferLimitException
spring cloud
suuijbd4 天前
SpringCloud+Netty集群即时通讯项目
spring boot·分布式·spring cloud·java-rabbitmq·java-zookeeper
lijun_xiao20095 天前
SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式-学习笔记-1
分布式·spring cloud·rabbitmq
Jing_jing_X5 天前
springcloud:理解springsecurity安全架构与认证链路(一)
spring·spring cloud·安全架构