3)集成hystrix服务熔断

[亡魂溺海] 提交于 2020-10-30 19:38:52

引入依赖包

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

定义服务熔断,实现服务接口

@Named("userWebServiceFallback")
public class UserWebServiceFallback implements UserWebServiceApi {
	
	private static final Logger log = LoggerFactory.getLogger(UserWebServiceFallback.class);

	@Override
	public ResultVO<UserInfoEntity> findByAccount(String account) {
		log.error("findByAccount service api hystrix.");
		ResultVO<UserInfoEntity> result = ResultVoFactory.createErrorResult();
		result.setDetail("find user info by findByAccount hystrix fallback.");
		return result;
	}
}
@FeignClient(value = "user-web", fallback = UserWebServiceFallback.class)
public interface UserWebServiceApi {
	/**
	 * <p>查找用户信息</p>
	 * 
	 * @param account
	 * @return
	 */
	@RequestMapping(value = "/userweb/findByAccount", produces = "application/json")
	public ResultVO<UserInfo> findByAccount(@RequestParam("account") String account);
	
}

启动熔断

启动类增加启用注解:@EnableCircuitBreaker
application.yaml配置文件增加启用配置:
feign:
  hystrix:
    enabled: true
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!