七年前面试最常问的并且可以顺利拿到高薪的技能是 Dubbo ,三年前面试,只要你简历上有 Spring Cloud 项目的相关经验,肯定会打动面试官,现在呢?恐怕简历上有Dubbo和简单的Spring Cloud技术和经验是无法让面试官高看你的。
那如何学习呢?市面上对于SpringCloud Alibaba讲解的资料零零碎碎,根本不成完整体系;去官网学习又无从下手,饱受打击,因此我将在这分享给大家!
小伙伴可找小助理免费获取哦
ikt4435
微服务里的注册中心与配置中心:Nacos
- 为什么Nacos这么受欢迎?
- 启动Nacos服务
- 服务注册发现
- 启动配置管理
- Nacos如何共享配置?
- Nacos如何持久化?
- Nacos集群如何搭建?
- Nacos是CP还是AP?
注册中心技术选型
- 为什么需要注册中心?
- 如何实现一个注册中心?
- 如何解决负载均衡的问题?
- 注册中心如何选型?
- Zookeeper
- Eureka
- Nacos
- Consul
- Kubernetes
配置中心技术选型
- 为什么需要配置中心
- 开源配置中心基本介绍
- Disconf
- 配置中心核心概念的对比
- 灰度发布
- 权限管理
- 版本管理&回滚
- 配置格式校验
- 监听查询
- 多环境
- 多集群
- 配置实时推送的对比
- 高可用对比:Spring Cloud Config
- 高可用对比:Apollo
- 高可用对比:Nacos
- 多语言支持的对比
- 迁移支持
- 性能对比:单机读写场景
- 性能对比:3节点读写场景
- 功能特性对比总结
服务调用 OpenFeign
- Feign是什么?
- openFeign是什么?
- Feign和openFeign有什么区别?
- 环境准备
- 创建服务提供者
- 创建服务消费者
- openFeign如何传参?
- 超时处理:设置Ribbon的超时时间(不推荐)
- 超时处理:设置openFeign的超时时间(推荐)
- 如何开启日志增强?
- 如何替换默认的httpclient?
- 如何通讯优化?
- 如何熔断降级?
限流神器Sentinel
- 什么是Sentinel?
- Sentinel和Hystrix有何区别?
- Sentinel版本如何选择?
- Sentinel控制台如何安装?
- 微服务如何接入Sentinel控制台?
- 三种流控效果
- 三种流控模式
- 两种统计类型
- 三种熔断策略
- 热点参数如何限流?
- 系统自适应如何限流?
- 如何自定义限流返回的异常信息?
- 如何对异常进行降级处理?
- Sentinel的黑白名单如何设置?
- 限流规则如何持久化?
- 限流规则如何推送到Nacos进行持久化?
- 集群流控如何做?
- 网关限流如何配置?
- 整合openFeign如何实现熔断降级?
分布式事务:Seata
- 什么是分布式事务?
- 一致性(Consistency)
- 可用性(Availability)
- 分区容忍性(Partition tolerance)
- 单体架构为什么只能在A和C之间做出取舍?
- 强一致性
- 弱一致性
- 最终一致性
- BA(Basic Available)基本可用
- S(Soft State)柔性状态
- E(Eventual Consisstency)最终一致性
- 2阶段提交(2PC)
- 3阶段提交(3PC)
- TCC(事务补偿)
- 本地消息表
- MQ事务方案(可靠消息事务)
- 最大努力通知
- saga事务
- 什么是Seata?
- AT模式原理分析
- 搭建Seata TC协调者
- Seata客户端搭建(RM)
微服务网关 Spring Cloud Gateway
- 为什么需要网关?
- 网关的基本功能?
- 为什么选择Spring Cloud Gateway?
- Spring Cloud Gateway几个必知的术语?
- 网关如何搭建?
- 什么是Predict(断言)?
- GatewayFilter(局部过滤器)
- GlobalFilter(全局过滤器)
- 如何集成注册中心?
- 如何实现动态路由?
- 如何自定义全局异常处理?
Spring Cloud Gateway整合阿里Sentinel网关限流实战
- 网关如何限流?
- 限流配置
- 如何自定义限流异常信息?
- 直接配置文件中定制
- 编码定制
- 网关限流了,服务就安全了吗?
分布式链路追踪之Spring Cloud Sleuth
- 为什么需要链路追踪?
- 常见的链路追踪技术有哪些?
- Spring Cloud Sleuth是什么?
- Spring Cloud 如何整合Sleuth?
- 什么是ZipKin?
- zipkin服务端如何搭建?
- zipKin客户端如何搭建?
- 服务端连接RabbitMQ
- 客户端添加RabbitMQ
- 配置文件中传输方式切换
- zipkin如何持久化?
链路追踪之SkyWalking
- 什么是Skywalking?
- Skywalking和Spring Cloud Sleuth+ZipKin如何选型?
- Skywalking架构是怎样的?
- 服务端如何搭建?
- 客户端如何搭建?
- 数据如何持久化?
- 日志监控如何做?
- 性能剖析如何做?
- 监控告警如何做?
跨库多表存在大量数据依赖问题有哪些解决方案?
- 数据冗余的方案
- 解耦业务逻辑的数据同步方案
- 最终效果
OAuth2.0 四种授权类型+授权服务、资源服务搭建
- 为什么需要OAuth2.0?
- 令牌和密码的区别?
- 什么是OAuth2?
- OAuth2.0的四种模式?
- OAuth2.0的认证中心搭建
- OAuth2.0的资源服务搭建
- OAuth2.0的四种模式测试
- OAuth2.0其他端点的测试
OAuth2.0集成JWT令牌认证
- 什么是JWT?
- OAuth2.0认证授权服务搭建
- OAuth2.0资源服务搭建
- 测试
- 源码追踪
OAuth2.0 认证、资源服务 异常自定义
- 案例服务搭建
- 认证服务的异常
- 认证服务自定义异常
- 信息资源服务器的异常
- 资源服务自定义异常信息
JWT令牌如何退出失效?
- 解决方案:黑名单
- 解决方案:白名单
- 实现方案:网关层解析JWT的jti、过期时间放入请求头中
- 实现方案:下游微服务的过滤器修改
- 实现方案:注销接口实现
OAuth2.0 实现 JWT令牌增强
- 网关层如何获取令牌中的信息?
- 扩展SecurityUser
- UserDetailsService中查询出userId
- 改造JwtAccessTokenConverter
- 注入JwtAccessTokenConverter
- 网关层的全局过滤器
- 微服务过滤器改造
Spring Cloud Gateway 集成OAuth2.0 实现统一认证鉴权
- 微服务认证方案
- 案例架构
- 认证授权服务搭建
- 网关服务搭建
- 订单微服务搭建
- 为什么要将URI和权限放入Redis?
Spring Cloud Gateway集成RBAC权限模型实现动态权限鉴权
- 什么是RBAC权限模型?
- URL对应的权限如何维护?
- 如何实现Restful风格的权限控制?
- 这样能实现动态权限控制吗?
- 从数据库加载URL<->角色对应关系到Redis
- 实现UserDetailsService加载权限
- 鉴权管理器中校验权限
- 总结
Seata实现TCC模式解决分布式事务
- TCC模式①Try 阶段
- TCC模式②Confirm / Cancel 阶段
- 通用型TCC解决方案
- 异步确保型TCC解决方案
- 补偿型TCC解决方案
- TCC事务模式的落地实现
- TCC事务模型的三个异常
- TCC接口定义
- TCC接口实现
- 如何防止TCC模型的三个异常?
- 创建订单的业务方法
- 其他的配置
OpenFeign实现令牌中继
- 什么是令牌中继?
- 解决方案
蓝绿发布、灰度发布、滚动发布
- 蓝绿发布
- 滚动发布
- 灰度发布
- A/B测试
Spring Cloud Gateway整合Swagger实现API聚合
- 为什么需要聚合?
- 如何聚合?
- 单个服务如何聚合Swagger?
- 网关如何聚合Swagger?
- 搜索功能
- 离线文档
- 令牌配置
- 配置缓存
- 全局参数配置
Spring Security 自定义授权模式
- 为什么需要自定义授权类型?
- 实现思路
- 自定义UserDetailService
- 自定义AuthenticationToken
- 自定义TokenGranter
- 自定义AuthenticationProvider
- 将自定义的MobilePasswordAuthenticationProvider注入IOC容器
- Security的全局配置指定SmsCodeSecurityConfig
- 加到CompositeTokenGranter集合中
- oauth_client_details表中添加授权类型