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