分布式之遠端呼叫服務open feign

2021-10-23 05:47:25 字數 1413 閱讀 6511

1.feign是乙個宣告式的web service客戶端它的出現使開發web service客戶端變得很簡單。使用feign只需要建立乙個介面加上對應的註解,比如:feignclient註解。feign有可插拔的註解,包括feign註解和jax-rs註解。

feign也支援編碼器和解碼器,spring cloud open feign對feign進行增強支援spring mvc註解,可以像spring web一樣使用httpmessageconverters等。

feign是一種宣告式、模板化的http客戶端。在spring cloud中使用feign,可以做到使用http請求訪問遠端服務,就像呼叫本地方法一樣的,開發者完全感知不到這是在呼叫遠端方法,更感知不到在訪問http請求。

org.springframework.cloud

spring-cloud-starter-openfeign

@enablefeignclients  //啟用啟用

@enablediscoveryclient

public static void main(string args)

}

server:

port: 80

spring:

name: cloud-order-service

eureka:

client:

register-with-eureka: false # 表示不向註冊中心註冊自己

fetch-registry: true #是否從eurekaserver抓取已有的註冊資訊,預設為true。單節點無所謂,但是集群必須設定為true才能配合ribbon使用負載

service-url:

# 設定eureka位址

defaultzone:

# 設定feign客戶端超時時間(openfeign預設支援ribbon)

ribbon:

# 建立連線所用的時間,適用於網路狀況正常的情況下,兩端連線所用的時間

readtimeout: 5000

# 建立連線後從伺服器讀取到可用資源所用的時間

connecttimeout: 5000

呼叫端的service介面:

@feignclient(value = "gulimall-order")    //引數為呼叫的遠端微服務的註冊中心顯示的名字

public inte***ce orderfeignservice

@restcontroller

public class membercontroller

}

分布式服務呼叫

分布式服務呼叫策略 1.lvs 中間 負載均衡系統做 優點 代價低,可控性強 缺點 流量壓力大 必由之路,雞蛋不在乙個籃子裡 應用 面向c端 2.名稱服務 各呼叫方機器 自己根據策略進行負載均衡 優點 名稱服務不會直接影響功能 減少了中間的頻寬消耗 缺點 公升級較複雜 當拉起一台伺服器,需要把新的i...

分布式架構服務呼叫

和傳統的單體架構相比,分布式多了乙個遠端服務之間的通訊,不管是 soa 還是微服務,他們本 質上都是對於業務服務的提煉和復用。那麼遠端服務之間的呼叫才是實現分布式的關鍵因素 j a 原生 httpurlconnection是基於http協議的,支援get,post,put,delete等各種請求方 ...

分布式服務呼叫問題處理總結

面試 你懂什麼是分布式系統嗎?redis分布式鎖都不會?業務特點 運營push傳送數量較大,傳送時間密集,同一時間段呼叫baixin傳送push的數量幾十萬上百萬不等。問題描述 之前我們的push傳送使用兩個專案實現,分別是 在運營push業務裡,push專案使用執行緒數量為200的固定執行緒池傳送...