springcloud服務之間的呼叫 feign

2021-09-29 21:11:16 字數 1287 閱讀 1600

需求:訂單裡呼叫使用者服務,在訂單裡查詢出使用者資訊

order-service和user-service

1.user-service正常提供controller介面

/**根據使用者id查詢使用者資訊

* @param

* @return

*/@apioperation(value = "根據使用者id查詢使用者資訊", notes = "根據使用者id查詢使用者資訊")

public responsedata getuserinfo(@pathvariable("id") long id,@requestparam("usertype") int usertype)

@enablediscoveryclient

@enablefeignclients

@componentscan("com.****")

public static void main(string args)

}

3.order-service裡寫乙個api介面,和user-service裡的controller方法定義一樣

/**

* 使用者資訊

* @description

* @author guo

* @date 2019-10-31

*/@feignclient(value = "user-service",configuration = feignconfiguration.class)//此處configuration為了服務直接傳遞header,user-service是使用者服務名稱

public inte***ce userservice

4.order-service裡的業務方法,直接引用

@autowired

private userservice userservice;

userservice.getuserinfobyid(1,1);

# feign和ribbon結合,指定策略。feign預設的是輪詢的策略,這裡的配置可以自定義

user-service:

ribbon:

nfloadbalancerruleclassname: com.netflix.loadbalancer.randomrule

spring cloud微服務之間的呼叫

springcloud中為了解決服務與服務呼叫的問題,提供了兩種方式。resttemplate和feign。雖然這兩種呼叫的方式不同,但在底層還是和httpclient一樣,採用http的方式進行呼叫的。對httpclient進行的封裝。下面我們來詳細的介紹一下這兩種方式的區別,我們首先看一下res...

SpringCloud 服務之間的呼叫以及負載均衡

服務間的呼叫就是在子模組間的相互呼叫 在auth 模組中 呼叫demo中的有關方法 在demo中建立乙個介面 在auth中,建立乙個resttemplate 物件,呼叫 getforobject http 服務名 路徑 返回的型別,傳遞引數的類或map public string yuancheng...

springcloud 限流 之 微服務之間的呼叫

1.引入sentinel jar包 com.alibaba.csp sentinel annotation aspectj 1.4.1 流量控制 flow control 原理是監控應用流量的qps或併發執行緒數等指標,當達到指定閾值時對流量進行控制,避免系統被瞬時的流量高峰沖垮,保障應用高可用性。...