springcloud費話之Eureka接口調用(feign)

目錄:html

springcloud費話之Eureka基礎web

springcloud費話之Eureka集羣spring

springcloud費話之Eureka服務訪問(restTemplate)服務器

springcloud費話之Eureka接口調用(feign)app

springcloud費話之斷路器(hystrix in feign)負載均衡

springcloud費話之配置中心基礎(SVN)post

springcloud費話之配置中心客戶端(SVN)測試

 

使用eureka服務發現實現服務器之間的http訪問(feign)網站

 

使用restTemplate的訪問方式仍是比較複雜的,須要對其中的一些內容進行解析,增長了代碼spa

所以在服務調用之間,但願恢復單應用的調用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.測試

 

相關文章
相關標籤/搜索