springcloud(2)微服務之間的相互呼叫

2021-09-28 10:58:43 字數 1026 閱讀 6985

呼叫其他微服務:

@component

public class productclientribbon

}

ribbon 客戶端, 通過 resttemplate 訪問 http://product-data-service/products , 而 product-data-service 既不是網域名稱也不是ip位址,而是 資料服務在 eureka 註冊中心的名稱。products 被呼叫的介面名。list.class 只被呼叫的服務的返回資料是list集合    注意:這裡並未新增埠號

將呼叫的資料寫入進service裡,使用

@service

public class productservice

}

關於resttemplate 的介紹我們自己封裝的httpclient,通常都會有一些模板**,比如建立連線,構造請求頭和請求體,然後根據響應,解析響應資訊,最後關閉連線。resttemplate是spring中對httpclient的再次封裝,簡化了發起http請求以及處理響應的過程,抽象層級更高,減少消費者的模板**,使冗餘**更少。其實仔細想想spring boot下的很多***template類,它們也提供各種模板方法,只不過抽象的層次更高,隱藏了更多細節而已。順便提一下,spring cloud有乙個宣告式服務呼叫feign,是基於netflix feign實現的,整合了spring cloud ribbon與 spring cloud hystrix,並且實現了宣告式的web服務客戶端定義方式。

本質上feign是在resttemplate的基礎上對其再次封裝,由它來幫助我們定義和實現依賴服務介面的定義。

相關部落格:

關於resttemplate 的使用

相關部落格:

springcloud(2) 服務註冊與發現

目錄例項 服務端客戶端 測試 集群 1 新增依賴 org.springframework.cloud spring cloud starter netflix eureka client 2 配置檔案 3 啟動類新增 enablediscoveryclient 4 controller restco...

SpringCloud 2 搭建服務端介面

服務端要進eureka註冊中心,所以引入資料庫 spring 等依賴之外還需要引入eureka客戶端的依賴,如下 org.springframework.cloud spring cloud starter netflix eureka client mybatis config location ...

Spring Cloud 2 軟體架構設計

分層架構是運用最為廣泛的架構模式,幾乎每個軟體系統都需要經過層來隔離不同的關注點,以此應對不同需求的變化,使得這種變化可以獨立進行 各個層 甚至同一層中的各個元件都會以不同速率發生變化。這裡所謂的 以不同速率發生變化 其實就是引起變化的原因各有不同,這正好是單一職責原則 single respons...