github:
eureka註冊中心:eureka-server
服務提供者(訂單服務):eureka-provider-order
feign-api(服務介面抽象):eureka-feign-api
feign客戶端消費:eureka-consumer-feign
feign是乙個宣告式的偽rpc的rest客戶端,基於介面的註解方式,很方便客戶端配置。
spring cloud整合ribbon和eureka以在使用feign時提供負載均衡的http客戶端。
/** * order服務,feignclient標註服務提供者資訊
* * @author yihonglei
*/@feignclient(name = "eureka-provider-order", fallback = orderapifallback.class, path = "/order")
public inte***ce orderapi
@feignclient註解指定所抽象的服務,name服務名稱,path路徑。
需要引入eureka-feign-api。
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
com.jpeony
eureka-feign-api
1.0-snapshot
# 註冊到eureka服務端的微服務名稱
# 服務提供埠
server.port=8007
# 註冊到eureka服務端的位址
# 顯示指定微服務的名稱,預設ip:應用名稱:埠(192.168.1.7:eureka-consumer-feign:8007)
eureka.instance.instance-id=eureka-consumer-feign-8007
eureka.instance.prefer-ip-address=true
package com.jpeony.feign.controller;
import com.jpeony.order.orderapi;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.web.bind.annotation.requestmethod;
import org.springframework.web.bind.annotation.restcontroller;
/** * -- @restcontroller這個註解等價於spring mvc用法中的@controller+@responsebody
* * @author yihonglei
*/@restcontroller
public class usercontroller
}
package com.jpeony.feign;
import org.springframework.cloud.client.discovery.enablediscoveryclient;
import org.springframework.cloud.openfeign.enablefeignclients;
/** * -- @enablediscoveryclient 服務發現與註冊,當應用啟動時,將應用註冊到配置的註冊中心
* * @author yihonglei
*/@enablediscoveryclient
@enablefeignclients(basepackages = "com.jpeony")
public static void main(string args)
}
客戶端使用feign,需要在啟動類加上@enablefeignclients註解,啟用feign客戶端。
執行main方法,啟動服務。
註冊中心可以看到eureka-provider-order-8001服務提供者,eureka-consumer-feign-8007服務消費者。
學習SpringCloud之服務呼叫Feign
以下示例均基於springcloud的greenwich.sr1版本,且需要依賴到之前介紹springcloud相關的文章 org.springframework.cloudgroupid spring cloud starter openfeignartifactid dependency org...
SpringCloud系列七 負載均衡 Feign
org.springframework.cloud spring cloud starter feign 3 修改公共工程microservicecloud api 1 引入依賴 org.springframework.cloud spring cloud starter feign 2 建立介面d...
springcloud服務之間的呼叫 feign
需求 訂單裡呼叫使用者服務,在訂單裡查詢出使用者資訊 order service和user service 1.user service正常提供controller介面 根據使用者id查詢使用者資訊 param return apioperation value 根據使用者id查詢使用者資訊 not...