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配置的名字
2处的名字可以在eureka.instance.instance-id配置
2处链接可以配置监控信息
1、导入依赖
2、application.yml中配置info
Ranbbon 客户端负载均衡工具
负载均衡实现
1、导入依赖
2、在application.yml文件中配置Eureka (每个服务名要相同 spring.application.name)
3、配置RestTemplate Bean实例, @LoadBalanced 实现负责均衡(默认是轮询)
4、RestTemplate 通过服务名访问(http://SPRINGCLOUD-PROVIDER-DEPT)
负载均衡策略(IRule)
常见策略
RoundRobinRule 轮询
RandomRule 随机
AvailabilityFilteringRule 会先过滤掉跳闸,访问故障的服务,对剩下的服务进行轮询
RetryRule 会先按照轮询获取服务,如果服务获取失败,则会在指定的时间内进行重试
改变默认轮询策略
配置IRule Bean
自定义策略
Feign 客户端负载均衡(封装了Ranbbon)
1、导入依赖
2、编写接口FeignClient(value={SPRINGCLOUD-PROVIDER-DEPT}) value 为服务名
注意点:接口中的方法访问路径 要与服务端方法访问路径对应
FeignClient接口
Provider服务提供者
3、客户端调用服务,将FeignClient接口 @Autowired 注入后使用
Hystrix 断路器
服务熔断(服务端)
1、导入Hystrix 依赖
2、启动类@EnableCircuitBreaker 开启功能
3、使用:要熔断处理的方法上加 @HystrixCommand(fallbackMethod="降级处理方法名")注解
服务降级(客户端 FeignClient)
1、导入Feign 依赖
2、启动类 @EnableFeignClients(basePackages={"要扫描的包名"}) 开启功能
3、配置yml文件
4、编写服务降级工厂类 实现 FallbackFactory接口,重写 create()方法
5、使用: 在要降级处理的类上加 @FeignClient(value="",fallbackFactory= 4中降解处理工厂类名.class)
Zuul 路由网关
1、导入Zuul 依赖
2、启动类 @EnableZuulProxy 开启功能
3、配置yml文件
0 条评论
下一页