SpringCloud基礎 Feign負載均衡

2021-09-24 21:25:00 字數 2778 閱讀 7312

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...