springcloud费话之Eureka接口调用(feign)
目录:
springcloud费话之Eureka服务访问(restTemplate)
springcloud费话之Eureka接口调用(feign)
springcloud费话之断路器(hystrix in feign)
使用eureka服务发现实现服务器之间的http访问(feign)
使用restTemplate的访问方式还是比较复杂的,需要对其中的一些内容进行解析,增加了代码
因此在服务调用之间,希望恢复单应用的调用service一样简单,于是使用feign的调用方式
因为feign底层是使用了ribbon作为负载均衡的客户端,而ribbon的负载均衡也是依赖于eureka 获得各个服务的地址,所以要引入eureka-client,实际上上述的依赖并不需要更改
具体流程如下:
1.依赖
首先在springcloud官方网站上找到feign依赖,如下图

复制进pom

2.添加启动类注解
在启动类上添加注解@EnableFeignClients,添加后代码如下:
package com.lyh.lyh_eureka_server; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class EurekaClientRun { public static void main(String[] args) {
SpringApplication.run(EurekaClientRun.class, args);
} }
3.创建feign的访问接口,代码如下:
package com.lyh.lyh_eureka_server.Interface; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
//这里为请求的服务器的spring的name
@FeignClient("eureka-client")
public interface FeignService {
//映射名
@RequestMapping("/getInfo")
public String getInfo();
}
4.创建上述接口的实现类,部分代码如下:
t eurekaClient;
@Resource
private FeignService feignService;
// 触发的接口 by feign
@RequestMapping("/getInfoFromClientByFeign")
public Object getInfoFromClientByFeign() throws URISyntaxException {
String obj = feignService.getInfo();
System.out.println(obj.toString());
return obj;
}
5.将如上代码复制到client2和client3中
6.测试

springcloud费话之Eureka接口调用(feign)的更多相关文章
- springcloud费话之Eureka服务访问(restTemplate)
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- springcloud费话之Eureka集群
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- springcloud费话之Eureka基础
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- SpringCloud之声明式服务调用 Feign(三)
一 Feign简介 Feign是一种声明式.模板化的HTTP客户端,也是netflix公司组件.使用feign可以在远程调用另外服务的API,如果调用本地API一样.我们知道,阿里巴巴的doubbo采 ...
- springcloud费话之断路器(hystrix in feign)
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- springcloud费话之配置中心server修改
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- springcloud费话之配置中心客户端(SVN)
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- springcloud费话之配置中心基础(SVN)
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- 三、springcloud之服务调用Feign
一.背景 项目中接口调用: Httpclient Okhttp Httpurlconnection RestTemplate 微服务提供了更简单,方便的Feign 二.Feign简介 Feign是一个 ...
随机推荐
- linux--基础知识5
#文件合并与文件归档 #cat /etc/passwd > new_pass.txt (创建一个新的文档并将cat/etc/passwd的内容合并进来) #echo "xxxx&quo ...
- Ubuntu16.04 启用root权限
装了Ubuntu 16.04之后想使用超级权限对系统进行操作 使用命令 su - 切换超级用户,提示输入密码,却怎么都不对,网上找的资料说是没有启用root权限,于是根据网上提供的方法启用root权限 ...
- whetstone
https://www.cnblogs.com/findumars/p/4173040.html 下载源码:http://www.netlib.org/benchmark/whetstone.c ar ...
- [apache] apache配置文件中的deny和allow
allow 和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权. 例如: <Di ...
- HTML5 Canvas(实战:绘制饼图2 Tooltip)
继上一篇HTML5 Canvas(实战:绘制饼图)之后,笔者研究了一下如何给饼图加鼠标停留时显示的提示框. Plot对象 在开始Coding之前,笔者能够想到的最easy的方式,就是给饼图的每一个区域 ...
- k8s源码编译
1.可在github上面直接下载源码 2.下载所需要的docker镜像,并打上tag,不知道tag,可以先编译一下,会提示所需image. docker pull index.alauda.cn/xu ...
- flask之url_for函数
一:url_for函数 干什么的?传入函数名,得到函数的路由地址(访问视图函数的地址) from flask import Flask from flask import url_for app = ...
- Dump文件的生成
一.Windows系统的任务管理器里抓dump 启动任务管理器,选中某个进程,右键,弹出菜单"创建转储文件" 注意事项: 当你在64位Windows系统上抓32位进程的dmup文件 ...
- php随机数原理
php随机数原理: 系统自动生成一个随机数种子(mt_srand函数可以自己生成种子),mt_rand先判断是否有生成种子,没有就自动生成一个,然后根据种子生成随机数. 生成10000-99999随机 ...
- Axios 安卓4.4不兼容的问题
问题:Vue在使用Axios做接口请求时,如果是安卓4.4系统会发生报错,原因是安卓4.4不支持ES6的Promise语法 解决方案: 1.安装: npm install babel-polyfill ...