吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1130|回复: 2
收起左侧

[学习记录] SpringCloud学习心得---降级机制

[复制链接]
zyt温柔发 发表于 2022-2-17 18:45
8.2服务降级机制

服务降级处理是在客户端(Consumer 端)实现完成的,与服务端(Provider 端)没有关系。
当某个 Consumer 访问一个 Provider 却迟迟得不到响应时执行预先设定好的一个解决方案,
而不是一直等待。


降级.png
  8.2.1 common 工程:依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

8.2.2 common 工程 com.study.spring.cloud.factory.MyFallBackFactory
[Java] 纯文本查看 复制代码
/**
 * 1.实现Consumer端服务降级功能
 * 2.实现FallbackFactory接口时要传入@FeignClient注解标记的接口类型
 * 3.在create()方法中返回@FeignClient注解标记的接口类型的对象,当Provider调用失败后,会执行这个对象的对应方法
 * 4.这个类必须使用@Component注解将当前类的对象加入IOC容器,当然当前类必须能够被扫描到
 * [url=home.php?mod=space&uid=686208]@AuThor[/url] Lenovo
 *
 */
@Component
public class MyFallBackFactory implements FallbackFactory<EmployeeRemoteService> {

	@Override
	public EmployeeRemoteService create(Throwable cause) {
		return new EmployeeRemoteService() {

			@Override
			public Employee getEmployeeRemote() {
				return null;
			}

			@Override
			public ResultEntity<Employee> getEmpWithCircuitBreaker(String signal) {
				return ResultEntity.failed("降级机制生效:" + cause.getMessage());
			}

			@Override
			public List<Employee> getEmpListRemote(String keyword) {
				return null;
			}
		};
	}

}

8.2.3 common 工程:Feign 接口添加:
@FeignClient(value = "study-provider", fallbackFactory = MyFallBackFactory.class)
8.2.4 consumer 工程:application.yml
feign:
hystrix:
enabled: true

8.2.4测试
正常访问:
正常访问.png
provider停掉访问:
停掉provider.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

戰龍在野 发表于 2022-2-17 19:19
好高端谢谢提供好好学习了
shiqiangge 发表于 2022-2-17 20:24
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 17:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表