springcloud 基礎知識整理

2021-10-02 02:00:27 字數 1410 閱讀 9354

一.@enablediscoveryclient與@enableeurekaclient區別

在使用spring cloud feign使用中在使用服務發現的時候提到了兩種註解,一種為@enablediscoveryclient

,一種為@enableeurekaclient

,用法上基本一致。

spring cloud中discovery service有許多種實現(eureka、consul、zookeeper等等),@enablediscoveryclient基於spring-cloud-commons,

@enableeurekaclient基於spring-cloud-netflix。

其實用更簡單的話來說,就是如果選用的註冊中心是eureka,那麼就推薦@enableeurekaclient,如果是其他的註冊中心,那麼推薦使用@enablediscoveryclient。

二.springcloud 中zuul閘道器filter處理流程及異常處理

1.filter的四個方法,filtertype,filterorder,shouldfilter,run

2.filtertype代表過濾型別:

pre: 該型別的filters在request routing到源web-service之前執行。用來實現authentication、選擇源服務位址等

routing:該型別的filters用於把request routing到源web-service,源web-service是實現業務邏輯的服務。這裡使用httpclient請求web-service。

post:該型別的filters在routing返回response後執行。用來實現對response結果進行修改,收集統計資料以及把response傳輸會客戶端。

error:上面三個過程中任何乙個出現錯誤都交由error型別的filters進行處理。

3.主要關注 pre、post和error。分別代表前置過濾,後置過濾和異常過濾。

(1)如果你的filter是pre的,指請求先進入pre的filter類,你可以進行一些許可權認證,日誌記錄,或者額外給request增加一些屬性供後續的filter使用。pre會優先按照order從小到大執行,然後再去執行請求**到業務服務。

(2)如果type為post,那麼就會執行完被路由的業務服務後,再進入post的filter,在post的filter裡,一般做一些日誌記錄,或者額外增加response屬性什麼的。

(3)如果是error,上面的任何乙個地方出現了異常,就會進入到type為error的filter中

4.filterorder代表過濾器順序

5.shouldfilter代表這個過濾器是否生效

(1)6.run方法

這個是主要的處理邏輯的地方,我們做許可權控制、日誌等都是在這裡。

三.

spring cloud 基礎知識

對映到客戶端上的 spring.profiles.active 逗號分隔列表 和 這是乙個伺服器端功能,標記 版本 的一組配置檔案。trying階段主要是對業務系統做檢測及資源預留confirming階段主要是對業務系統做確認提交,trying階段執行成功並開始執行confirming階段時,預設c...

Springcloud(一) 基礎知識

spring cloud 是乙個相對比較新的微服務框架,2016年才推出1.0 都release版本,但是其更新特別快,幾乎每乙個月都要更新,雖然spring cloud時間最短,但是比dubbo的等rpc框架,spring cloud提供的全套的分布式系統解決方案 spring cloud 為開發...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...