|
视频课程观看网址:Spring Cloud Alibaba微服务开发从入门到实操-121集经典视频课程-孙卫琴主讲
课程源代码下载网址:http://www.javathinker.net/kecheng/cloud/sourcecode.rar
本课程的配套参考书籍是孙卫琴老师创作的《Spring Cloud Alibaba微服务开发零基础入门到实操》,书的详细信息参见:《Spring Cloud Alibaba微服务开发零基础入门到实操》技术支持 (javathinker.net)
本课程循序渐进,详细介绍了各个组件的用法,并演示了实例的开发和运行步骤。无论您是小白,还是微服务开发程序员,都能从本套课程中受益匪浅。
本课程的大纲如下:
引言
第1章 微服务简介
1.1 微服务的概念与特征
1.1.1 微服务按照业务划分
1.1.2 微服务运行在独立的进程中
1.1.3 微服务采用HTTP协议通信
1.1.4 微服务采用统一的管理框架
1.2 Spring Cloud框架概述
1.3 Spring Cloud Alibaba框架概述
1.4 各种软件的版本匹配
1.5 准备微服务的开发和运行环境
1.5.1 安装Intellij IDEA
1.5.2 为IDEA配置Maven
1.5.3 安装和启动Nacos服务器
1.5.4 访问Nacos服务器的管理平台
1.5.5 查看Nacos服务器的日志
1.6 云原生的概念
第2章 第一个范例:helloapp项目
2.1 提供者和消费者的通信以及实现原理
2.2 在IDEA中创建helloapp项目
2.3 添加hello-provider模块
2.3.1 在IDEA中创建hello-provider模块
2.3.2 在pom.xml文件中添加Spring Cloud Alibaba依赖
2.3.3 创建控制器类HelloProviderController
2.3.4 在application.properties文件中配置微服
2.3.5 启动hello-provider模块
2.4 添加hello-consumer模块
2.4.1 在IDEA中创建hello-consumer模块
2.4.2 在启动类中加入@EnableFeignClients注解
2.4.3 创建HelloFeignService接口
2.4.4 创建控制器类HelloConsumerController
2.4.5 在application.properties文件中配置微服务
2.4.6 启动和访问hello-consumer模块
2.4.7 HelloFeignService接口的默认方法
2.5 启动微服务的多个实例
2.6 LoadBalancer负载均衡器
2.7 通过RestTemplate类访问微服务
2.7.1 使用LoadBalancerClient接口
2.7.2 使用@LoadBalanced注解
第3章 微服务的注册与发现
3.1 Nacos Discovery组件的配置属性
3.1.1 禁止注册微服务
3.1.2 Nacos Discovery组件的客户端缓存
3.1.3 微服务的分组和命名空间
3.2 微服务的健康检测
3.2.1 微服务的临时实例
3.2.2 微服务的永久实例
3.3 访问DiscoveryClient接口
3.4 通过Actuator监控Nacos Discovery的端点
3.6 Nacos Discovery组件对微服务列表的监控
第4章 Nacos配置中心
4.1 在Nacos服务器上创建配置属性
4.2 在微服务中读取配置属性
4.2.1 创建bootstrap.properties配置文件
4.2.2 Nacos Config组件的配置属性
4.2.3 通过Environment对象读取配置属性
4.2.4 通过@Value注解读取配置属性
4.2.5 通过@ConfigurationProperties注解读取配置属性
4.3 配置单元的Data ID、分组和命名空间
4.4 配置属性的动态更新
4.5 不同环境下配置属性的切换
4.6 扩展的配置单元
4.7 监控Nacos Config组件的端点(EndPoint)
4.8 设置YAML格式的配置属性
4.9 配置属性的持久化
4.10 配置属性的回滚
第5章 Nacos集群
5.1 Nacos集群的Raft算法
5.1.1 节点之间数据的同步
5.1.2 节点的选举机制
5.2 搭建Nacos集群
5.2.1 配置Nacos节点
5.2.2 启动Nacos节点
5.2.3 避免各个Nacos节点的端口冲突
5.2.4 Nacos集群的选举
5.2.5 微服务访问Nacos集群
5.2.6 Nacos集群的同步
5.3 Nacos集群的AP和CP运行模式
5.4 使用Nginx反向代理
5.5 通过Keepalived建立Nginx集群
第6章 远程调用组件:OpenFeign
6.1 优化设定所访问的微服务的名字
6.2 优化设定映射URL的根路径
6.3 输出详细日志
6.4 请求和响应数据的压缩
6.5 超时配置
6.6 异常处理
6.6.1 把OpenFeign与Sentinel整合
6.6.2 创建回调类
6.6.3 创建回调类和工厂类
6.7 传递对象参数
6.7.1 传递简单对象
6.7.2 传递复杂对象
第7章 远程调用框架:Dubbo
7.1 比较Dubbo和OpenFeign
7.2 创建采用Dubbo框架的范例
7.2.1 创建hello-provider提供者模块
7.2.2 创建hello-consumer消费者模块
7.2.3 消费者远程访问提供者
7.3 超时和重试次数设置
7.4 异常处理
7.5 传递对象参数
7.6 负载均衡
7.7 Dubbo与Sentinel整合
7.8 提供者回调消费者
7.9 消费者异步调用服务方法
第8章 流量控制组件:Sentinel
8.1 微服务容错的基本原理
8.1.1 限流
8.1.2 隔离
8.1.3 熔断和降级
8.2 微服务与Sentinel整合
8.2.1 hello-consumer模块与Sentinel整合
8.2.2 安装Sentinel控制台
8.2.3 在Sentinel控制台查看微服务的流量
8.3 流控(流量控制)规则
8.3.1 流控模式
8.3.2 流控效果
8.4 熔断规则
8.4.1 慢调用比例
8.4.2 异常比例
8.4.3 异常数
8.5 系统规则
8.6 授权规则
8.7 @SentinelResource注解
8.7.1 热点规则
8.7.2 对请求被拒绝的处理
8.7.3 对异常的处理
8.8 自定义对BlockException的处理方式
8.9 集群流控
8.9.1 集群流控的原理
8.9.2 Token Server的部署模式
8.9.3 配置集群流控
8.10 Sentinel规则的持久化
8.10.1 流控规则的持久化
8.10.2 熔断规则的持久化
8.10.3 系统规则的持久化
第9章 网关服务:GateWay
9.1 Spring Cloud GateWay简介
9.2 创建网关服务模块
9.3 与Nacos整合
9.4 断言(Predicate)
9.4.1 内置的断言工厂
9.4.2 自定义断言工厂
9.5 过滤器(Filter)
9.5.1 局部内置过滤器
9.5.2 默认过滤器
9.5.3 全局内置过滤器
9.5.4 自定义局部过滤器
9.5.5 自定义全局过滤器
9.5.6 使用SLF4J日志工具
9.6 与Sentinel整合
9.6.1 针对路由限流
9.6.2 对自定义的API入口限流
9.6.3 同时对路由和API入口限流
9.7 跨域配置
9.8 超时配置
9.9 通过Actuator监控网关
9.10 网关集群
第10章 消息驱动框架:Stream
10.1 消息中间件简介
10.1.1 消息中间件的运用场景
10.1.2 消息中间件的缺点
10.1.3 比较各种消息中间件产品
10.2 RocketMQ简介
10.2.1 RocketMQ涉及的基本概念
10.2.2 RocketMQ的消息收发模型
10.2.3 安装和启动RocketMQ
10.2.4 安装和启动RocketMQ的控制台
10.3 搭建RocketMQ的集群
10.3.1 搭建NameServer集群
10.3.2 搭建BrokerServer集群概述
10.3.3 多Master模式
10.3.4 多Master多Slave,异步复制模式
10.3.5 多Master多Slave,同步双写模式
10.4 Spring Cloud Stream简介
10.5 在微服务中收发消息
10.5.1 创建消息生产者
10.5.2 创建消息消费者
10.5.3 运行消息生产者和消费者
10.5.4 收发Message类型的消息
10.6 通过StreamBridge发送消息
10.6.1 StreamBridge的用法
10.6.2 用ChannelInterceptor拦截消息
10.7 发送HTTP请求正文
10.8 通过Function函数式接口收发消息
10.9 响应式收发消息
10.10 多输入通道和输出通道
10.11 批量消费消息
10.12 批量生产消息
10.13 处理错误
10.13.1 清除失败消息
10.13.2 把失败消息发送到DLQ队列
10.13.3 失败消息的重新尝试消费
10.14 消费者分组和分区
10.15 消息正文的类型转换
10.16 通过Actuator监控Stream
第11章 分布式链路追踪:SkyWalking
11.1 SkyWalking简介
11.2 比较各个链路追踪软件
11.3 安装和运行SkyWalking
11.4 在微服务中安置探针Agent
11.4.1 查看拓朴图
11.4.2 追踪链路
11.4.3 服务、实例和端点维度
11.4.4 性能分析
11.5 采集日志
11.6 自定义链路追踪
11.7 忽略端点
11.8 告警
11.8.1 编写满足告警规则的方法
11.8.2 创建处理告警的网络钩子
11.8.3 测试告警
11.9 整合Elasticsearch数据库
11.10 整合MySQL数据库
11.11 通过Nacos建立SkyWalking集群
第12章 分布式事务框架:Seata
12.1 分布式事务概述
12.2 Seata简介
12.3 Seata的事务模式
12.3.1 AT 模式
12.3.2 TCC 模式
12.3.3 Saga 模式
12.3.4 XA 模式
12.4 安装和运行Seata Server
12.5 创建AT事务模式下的范例
12.5.1 创建Seata Server的MySQL存储源
12.5.2 处理分布式事务的微服务的架构
12.5.3 创建order-service微服务
12.5.4 声明全局事务和分支事务
12.5.5 演示全局事务的提交和撤销
12.6 整合Nacos建立Seata Server集群
12.6.1 在MySQL中创建seata数据库和表
12.6.2 在Nacos配置中心配置Seata Server
12.6.3 在Seata Server的配置文件中配置Nacos
12.6.4 在微服务中配置Seata
12.6.5 运行和访问Seata Server 集群
12.7 事务组与Seata Server集群的映射
第13章 分库分表中间件:ShardingSphere
13.1 分库分表概述
13.2 ShardingSphere简介
13.2.1 Sharding-JDBC简介
13.2.1 Sharding-Proxy简介
13.3 ShardingSphere核心概念
13.3.1 和表相关的概念
13.3.2 和分片相关的概念
13.4 ShardingSphere的工作流程
13.5 ShardingSphere的SQL规范
13.6 运用Sharding-JDBC的范例
13.6.1 加入Sharding-JDBC等的依赖
13.6.2 创建拆分后的订单表
13.6.3 配置Sharding-JDBC 和MyBatis
13.6.4 创建Order实体类
13.6.5 创建OrderDao数据访问接口
13.6.6 创建OrderService服务类
13.6.7 创建OrderController控制器类
13.6.8 运行范例,演示SQL路由
13.6.9 把订单表拆分到两个数据库中
13.6.10 配置绑定表
13.6.11 配置广播表
13.6.12 主从数据库和读写分离
13.7 使用Sharding-Proxy
13.7.1 安装和配置Sharding-Proxy
13.7.2 在微服务中访问Sharding-Proxy
13.7.3 配置读写分离
13.7.4 配置数据加密
13.7.5 配置影子数据源
第14章 分布式缓存数据库:Redis
14.1 Redis简介
14.2 安装和启动Redis
14.3 在微服务中访问Redis
14.4 Redis数据类型
14.4.1 读写list类型数据
14.4.2 读写set类型数据
14.4.3 读写zset类型数据
14.4.4 读写hash类型数据
14.4.5 序列化Java对象
14.5 Redis集群
14.5.1 主从模式
14.5.2 哨兵模式
14.5.3 集群模式
14.5.4 搭建Redis集群
14.6 在微服务中访问Redis集群
第15章 分布式任务调度框架:XXL-JOB
15.1 安装和运行XXL-JOB
15.1.1 创建XXL-JOB的数据库
15.1.2 配置XXL-JOB调度中心
15.1.3 运行和访问XXL-JOB调度中心
15.1.4 配置XXL-JOB执行器
15.1.5 运行XXL-JOB执行器
15.2 创建GLUE任务
15.3 创建BEAN模式的任务
15.3.1 任务的初始化和销毁
15.3.2 带参数的任务
15.4 执行器集群和分片执行的BEAN模式任务
15.5 搭建调度中心的集群
程序猿的技术大观园:www.javathinker.net
[这个贴子最后由 admin 在 2025-02-08 12:29:18 重新编辑]
|
|