springCloud筆記

分佈式和集羣的理解:好比在一個廚房有兩個廚師,一個炒菜,一個洗菜,各自作不一樣的事情,可是卻在合做,這種叫作分佈式,兩個都在炒菜或者都在作菜,就叫作集羣。前端

eureka的是springCloud的註冊中心,有服務端和客戶端,客戶端啓動後會到服務端集羣中註冊節點,服務端的集羣配置是:每一個服務端都要註冊到除了本身的其餘服務端節點上。nginx

不適合用微服務的場景:1,訪問壓力不大。2,強事務性的系統。3,系統穩定,迭代週期長。git

節點間訪問有兩種方式:前端:eureka,後端:nginx,zookeeper等負載均衡方式。web

dubbo和springCould節點間通訊方式區別:dubbo是rpc方式,springCloud是restful方式。spring

springCloud的兩種restful調用方式:RestTemplete和Feign,這兩種都是使用ribbon作負載均衡。bootstrap

RestTemplete有三種訪問方式:用第三種。後端

ribbon:客戶端負載均衡器,經過獲取的服務端節點,經過負載均衡策略命中目標節點。RestTemplete就是經過Ribbon的基礎上實現的。默認是輪訓的負載均衡規則,能夠經過配置文件修改默認的負載均衡規則。安全

Feign使用方式:1:maven引包,2:啓動類設置註解,3:編寫特殊Feign類。restful

3種問題:服務端實體類直接返回很差,不能直接暴露、不能重複在兩個服務定義重複的實體類、Feign的接口服務不該該寫在客戶端,應該寫在服務端。解決方式就是把服務多模塊化,經過maven引包進行調用、多封裝一層數據層,包裝真正的數據實體。負載均衡

爲何須要配置中心:1是不安全,2是不方便,3是修改配置須要從新部署。

怎麼作服務高可用:啓動多個節點,註冊到eureka就能夠了

各服務要調用配置中心的東西,必須用bootstrap.yml,這樣強制先調用配置中心的配置再加載配置信息,否則會報錯。

配置中心:註冊到eureka的配置不要放在配置中心,應該提取出來。

配置中心:若是配置中心有order-yml,order-test.yml,則若是訪問配置中心的地址是xxx/order-test.yml,則這兩個配置都會獲取到。因此能夠把公用的配置放在order.yml裏面。

配置中心實現自動獲取最新配置不用重啓服務:1,引入客戶端引入spring-Cloud bus包,注意spring boot和springcloud的版本;經過配置服務server的相關配置,開放bus-reflesh接口;3,在git遠程倉庫配置webHook地址,注意得是有域名地址。4,客戶端動態獲取參數得加上ReflushScope註解。

rabbitmq的exchange交換機的做用就是隨着業務的複雜,生產者不用知道要把消息發給哪一個隊列,而是直接發給exchange交換機,帶上key的名稱,這樣交換機就能知道轉發到哪一個隊列了。

zuul:網關-》路由+過濾器,相似於一系列的過濾器,有pre,rounting,post,error,自定義custom等,前置能夠做爲限流、校驗、權限驗證,後置能夠做爲日誌、統計等功能。

zuul的高可用也是能夠做爲微服務,啓動多個服務註冊到eureka就能夠了

能夠同nginx和zuul混合使用。

spring cloud hystrix:服務降級,優先處理訂單、支付等服務。

相關文章
相關標籤/搜索