博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springCloud Finchley 微服务架构从入门到精通【八】断路器 Hystrix(feign)
阅读量:6817 次
发布时间:2019-06-26

本文共 1832 字,大约阅读时间需要 6 分钟。

一、前言

上节写了ribbon 整合hystrix的实例,本节准备实现feign,由于比较简单,只写关键代码,具体看github源码

二、代码实现

创建fallback包存放feign的fallback处理类,包结构如下:

clipboard.png

UserFeignApi为入口调用类

package com.mayi.springcloud.api;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import com.mayi.springcloud.client.UserFeignClient;@RestControllerpublic class UserFeignApi {        @Autowired    private UserFeignClient userFeignClient;        @GetMapping("/listUsersByFeign")    public String ListUsers(){        String users = this.userFeignClient.listUsers();        return users;    }    }

UserFeignClient为实现feign的接口

package com.mayi.springcloud.client;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.GetMapping;import com.mayi.springcloud.fallback.UserFallback;@FeignClient(name="service-user", fallback=UserFallback.class)public interface UserFeignClient {        @GetMapping("/listUsers")    public String listUsers();    }

UserFallback为节点故障处理类

package com.mayi.springcloud.fallback;import org.springframework.stereotype.Component;import com.mayi.springcloud.client.UserFeignClient;@Componentpublic class UserFallback implements UserFeignClient{    @Override    public String listUsers() {        // TODO Auto-generated method stub        return "服务调用失败";    }}

配置中心的service-feign-hystrix-dev.yml

server:  port: 1001feign:   hystrix:     enabled: true

三、测试

依次启动下图服务

clipboard.png

访问:1001/listUsersByFeign,交替出现

clipboard.png

clipboard.png

手动停止其中一个service-user服务,当负载均衡至该节点,会转到自定义的fallback类

clipboard.png

若干秒后,该故障节点会被剔除,之后不会被其他调用者访问到。

源码地址:

欢迎加入JAVA架构师QQ群(初建):618578034

接下来,我会依次更新文章,直至整个架构完成,如有兴趣的朋友关注作者 或 加我微信 拉你进入spring cloud社区群

clipboard.png

微信公众号:java架构师修行

clipboard.png

本公众号从2018-5.1日 - 2019.5.1日期间,将要按照JAVA高级软件架构师实战培训的路线发布一期完整的架构文章,难度由浅入深,适合有一定开发基础想转架构和正在做初级架构开发的人员学习(springcloud更新完毕即开始)

转载地址:http://ypdzl.baihongyu.com/

你可能感兴趣的文章
八百呼电话录音系统--让通讯管理更安心
查看>>
02-线性结构1 两个有序链表序列的合并
查看>>
Python+numpy(3).md
查看>>
Java基础学习总结(85)——Java中四种线程安全的单例模式实现方式
查看>>
Mysql学习总结(9)——MySql视图原理讲解与使用大全
查看>>
DirectX 10 学习笔记7:环境光
查看>>
Segmentation fault (core dumped)
查看>>
openCV 二 图像处理
查看>>
Android 使用 ACTION_CALL 拨号
查看>>
求生之路刷服修改刷服器
查看>>
ADO.NET 基础
查看>>
网络编程中的CAP & 有趣的存储框架(关系型、NoSQL)全图
查看>>
Web前端开发基础 第四课(认识CSS样式)
查看>>
Mysql自增字段
查看>>
Java日期时间格式转换
查看>>
linux下常见的包安装方式
查看>>
html常用标签
查看>>
bitmap==null
查看>>
jQuery.事件委托
查看>>
计算机基础(二)
查看>>