springcloud费话之Eureka接口调用(feign)

目录:html

springcloud费话之Eureka基础web

springcloud费话之Eureka集群spring

springcloud费话之Eureka服务访问(restTemplate)服务器

springcloud费话之Eureka接口调用(feign)app

springcloud费话之断路器(hystrix in feign)负载均衡

springcloud费话之配置中心基础(SVN)测试

springcloud费话之配置中心客户端(SVN)网站

 

使用eureka服务发现实现服务器之间的http访问(feign)spa

 

使用restTemplate的访问方式仍是比较复杂的,须要对其中的一些内容进行解析,增长了代码.net

所以在服务调用之间,但愿恢复单应用的调用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.测试

 

相关文章
相关标签/搜索