SpringCloud
2024-05-23 10:14:14 41 举报
AI智能生成
SpringCloud
作者其他创作
大纲/内容
Eureka 服务注册和发现
EurekaServer(注册中心,监控页面)
1、导入依赖
2、在application.yml文件中配置Eureka
3、启动类上@EnableEurekaServer 开启功能
EurekaClient(服务提供者)
1、导入依赖
2、在application.yml文件中配置Eureka
3、启动类上@EnableEurekaClient 开启功能,在服务启动后自动注册到eureka中
1处的名字为 SpringApplication配置的名字<br>
2处的名字可以在eureka.instance.instance-id配置<br>
2处链接可以<font color="#c41230"><b>配置监控信息</b></font>
1、导入依赖
2、application.yml中配置info
Ranbbon <b><font color="#f15a23">客户端</font></b>负载均衡工具
负载均衡实现
1、导入依赖
2、在application.yml文件中配置Eureka (<b><font color="#c41230">每个服务名要相同 spring.application.name</font></b>)
3、配置RestTemplate Bean实例, <b><font color="#f15a23">@LoadBalanced</font></b> 实现负责均衡(默认是轮询)<br>
4、<b><font color="#f15a23">RestTemplate</font></b> 通过服务名访问(<b><font color="#16884a">http://SPRINGCLOUD-PROVIDER-DEPT</font></b>)
负载均衡策略(<b><font color="#0076b3">IRule</font></b>)
常见策略
RoundRobinRule 轮询
RandomRule 随机
AvailabilityFilteringRule 会先过滤掉跳闸,访问故障的服务,对剩下的服务进行<b><font color="#924517">轮询</font></b>
<span style="font-size: inherit;">RetryRule 会先按照轮询获取服务,如果服务获取失败,则会在指定的时间内进行</span><b style="font-size: inherit;"><font color="#8a8b8f">重试</font></b><br>
<b><font color="#c41230">改变默认轮询策略</font></b>
配置IRule Bean
自定义策略
Feign <b><font color="#c41230">客户端</font></b>负载均衡(封装了Ranbbon)
1、导入依赖
2、编写接口FeignClient(value={<b><font color="#c41230">SPRINGCLOUD-PROVIDER-DEPT</font></b>}) value 为服务名
<b>注意点</b>:接口中的<font color="#000000">方法访问</font><i style="color: rgb(241, 90, 35); font-weight: bold;">路径 </i><font color="#000000">要与服务端</font><b style="color: rgb(241, 90, 35);">方法访问路径</b><font color="#0076b3" style="font-weight: bold;">对应</font>
FeignClient接口
Provider服务提供者
3、客户端调用服务,将FeignClient接口 @Autowired 注入后使用
Hystrix 断路器
服务熔断(服务端)
1、导入Hystrix 依赖
2、启动类<b><font color="#f15a23">@EnableCircuitBreaker</font></b> 开启功能
3、使用:要熔断处理的<b><font color="#c41230">方法</font></b>上加 <b><font color="#16884a">@HystrixCommand(fallbackMethod="降级处理方法名")</font></b>注解
服务降级(<b>客户端</b> FeignClient)
1、导入Feign 依赖
2、启动类 <b><font color="#924517">@EnableFeignClients(basePackages={"要扫描的包名"})</font></b> 开启功能
3、配置<b>yml</b>文件
4、编写服务降级工厂<b><font color="#f15a23">类</font></b> 实现 FallbackFactory接口,重写 create()方法
5、使用: 在要降级处理的<font color="#c41230"><b>类</b></font>上加 <b><font color="#f1753f">@FeignClient(value="",fallbackFactory= 4中降解处理工厂类名.class)</font></b>
Zuul 路由网关
1、导入Zuul 依赖
2、启动类 <b><font color="#f15a23">@EnableZuulProxy</font></b> 开启功能
3、配置<b>yml</b>文件
0 条评论
下一页