文章目录
- 一、 05.23 周一
- 二、05.27 周五
- 三、 05.28 周六
- 四、05.29 周日
一、 05.23 周一
1.1)使用Eureka作为服务注册中心
1.1.1) 认识 Eureka
1.1.2) 在本地启动一个简单的 Eureka
服务
1.1.3) 将服务注册到 Eureka Server
- 关于 BootStrap 属性
1.2) 使用 Spring Cloud Loadbalancer(负载均衡) 访问服务
前置阅读:
- 使用方法:
给WebClient
或RestTemplate
添加一个@LoadBalanced
注解就可以使用负载均衡了- 原理:
- 处理
@LoadBalanced
添加了@LoadBalanced
注解的类,会被LoadBalanceWebClientBuilderBeanPostProcessor
这个BeanPostProcess
接口实现的类初始化后处理
spring-cloud-loadbalancer
spring-cloud-loadbalancer
中有 自动装配类LoadBalancerAutoConfiguration
,它里边提供了ReactiveLoadBalancer.Factory<ServiceInstance>
Bean的方法, 这里边就是 默认的负责均衡算法RoundRobinLoadBalancer
1.2.1) 如何获得服务地址
1.2.2) Load Balancer Client
1.3) 使用 Feign访问服务
1.3.1) 认识 Fegin
1.3.2) Fegin的简单使用
1.3.3) 通过配置定制 Feign
- 代码示例
1.4) 深入理解服务注册背后的 DiscoveryClient
1.4.1) Spring Cloud Commons 提供的抽象
1.4.2)自动向 Eureka
服务端注册
1.5) 广度优先搜索
- 原理图
- 代码示例
1.6) 深度优先搜索
-
深度优先搜索的原理
-
广度优先搜索 和 深度优先搜索 的对别
-
深度优先递归写法
-
深度优先 非递归写法
1.7) 题目 102:二叉树的层序遍历
使用深度优先或者广度优先算法都是可以的
1.7.1) Java语言描述 BFS 答案:
1.7.2) Java语言描述 DFS 答案:
1.8) 题目104: 求二叉树的最大最小深度
-
深度优先的解法- max
-
深度优先的解法- min
C++版本
Java版本
1.9) 题目 22:括号生成
1.9.1)DFS 递归解法
Python解法
Java版本解法
二、05.27 周五
2.1) 服务注册 DiscoveryClient
EurekaAutoServiceRegistration
这个类里去完成 Eureka的注册
EurekaDiscoveryClient
实现了 接口DiscoveryClient
, 完成具体的服务发现
2.2) 使用 Zookeeper
来做服务注册中心
2.2.1) 认识 zookeeper
2.2.2) 使用 zookeeper 作为注册中心
2.2.3) 使用 Zookeeper 作为注册中心的问题
2.2.4) 通过 Docker
启动 Zookeeper
- 使用zookeeper命令行查看zk的文件特性
2.3) 使用 Consul
来做服务注册中心
2.3.1) Consul 的github上的介绍
2.3.2) 认识 HashiCorp Consul
2.3.3) 使用 Consul
提供服务发现能力
2.3.4) Spring Cloud
中 使用 Consul
作为注册中心
2.3.5) 通过 Docker
启动 Consul
- consul 的页面控制台
2.4) 使用 Nacos
来做服务的注册中心
2.4.1) 认识 Nacos
2.4.2) NaCos的技术架构图
- 依赖添加
2.4.3) 通过 Docker
启动 Nacos
- Nacos 的用户界面
三、 05.28 周六
3.1)如何定制自己的 DiscoveryClient
3.1.1) 接触过的 Spring Cloud
类
3.1.2) 实现自己的 DiscoveryClient
3.1.3) 实现自己的 RabbionClient
支持
3.2) 服务注册发现总结
3.3) 算法-剪枝
- N皇后问题
3.4) 使用 Hystrix
实现服务熔断
服务熔断的场景: 当一个服务或者实例不太好时,怎么通过不人工干预,实现一个自动地平滑地服务的降级。
3.4.1) 断路器模式
- 断路器示意图
- 断路器起作用的代码
四、05.29 周日
4.1) 使用 Hytrix
作为断路器
4.1.1) Hystrix 断路保护示意图
- Hystrix 实现的断路器模式相关注解
Hystrix 官方已经不维护了,要注意
4.1.2)如何观察熔断情况
- 配置 Hystrix Dashboard 来可视化观察熔断情况