springCloud全家桶


Spring Cloud 入門教程(一): 服務注冊

eureka是一個高可用的組件,它沒有后端緩存,每一個實例注冊之后需要向注冊中心發送心跳,在默認情況下erureka server也是一個eureka client ,必須要指定一個 server。
Spring Cloud 入門教程(二): 配置管理
假如需要搭建同多台服務器時,當然可以每台服務器做同樣配置,但維護和同步會很麻煩。我理解的配置服務至少有兩種不同場景:

1).  多個客戶使用同一配置: 比如,多台服務器組成的集群,假如后端使用同一數據庫,那么每台服務器都是用相同的配置。

2).  不同客戶使用不同的配置: 比如典型的場景是,開發,測試,生產使用相同的系統,但使用不同的數據庫

Spring Cloud 入門教程(三): 配置自動刷新

刷新 http://locahost/8881/hello,
頁面內容仍然和之前一樣,並沒有反映GIT中最新改變, 重啟config-server也一樣,沒有任何變化。要讓客戶端應用感知到這個變哈,
Spring Cloud提供了解決方案是,客戶端用POST請求/refresh方法就可以刷新配置內容。
spring-boot-starter-actuator是一套監控的功能,可以監控程序在運行時狀態,其中就包括/refresh的功能。 2. 通過Webhook自動觸發/refresh方法刷新配置
Spring Cloud 入門教程(四): 分布式環境下自動發現配置服務
應用只需要提供它需要的配置所在在的config server的名字就可以了, 在前面例子中,配置服務的名字就是“config-server”。那我們現在就把之前的服務和應用稍作修改, 來達到自動發現服務的方案。
Spring Cloud 入門教程(五): Ribbon實現客戶端的負載均衡
負載均衡可分為服務端負載均衡客戶端負載均衡,服務端負載均衡完全由服務器處理,客戶端不需要做任何事情。而客戶端負載均衡技術,
客戶端需要維護一組服務器引用,每次客戶端向服務端發請求的時候,會根據算法主動選中一個服務節點。常用的負載均衡算法有: Round Robbin, Random,Hash,StaticWeighted等。
@LoadBalanced
restTemplate.getForObject("http://SERVICE-HELLOWORLD/",String.class);
Spring Cloud 入門教程(六): 用聲明式REST客戶端Feign調用遠端HTTP服務
要做一件事, 需要知道三個要素,where, what, how。即在哪里( where)用什么辦法(how)做什么(what)。什么時候做(when)我們納入how的范疇。

1)編程式實現: 每一個要素(where,what,how)都需要用具體代碼實現來表示。傳統的方式一般都是編程式實現,業務開發者需要關心每一處邏輯

2)聲明式實現: 只需要聲明在哪里(where )做什么(what),而無需關心如何實現(how)。Spring的AOP就是一種聲明式實現,比如網站檢查是否登錄,開發頁面邏輯的時候,
只需要通過AOP配置聲明加載頁面(where)需要做檢查用戶是否登錄(what),而無需關心如何檢查用戶是否登錄(how)。如何檢查這個邏輯由AOP機制去實現,
而AOP的登錄檢查實現機制與正在開發頁面的邏輯本身是無關的。
@FeignClient(value = "SERVICE-HELLOWORLD")
public interface HelloWorldService {
     @RequestMapping(value = "/",method = RequestMethod.GET)
     String sayHello();
}
Spring Cloud 入門教程(七): 熔斷機制 -- 斷路器
ribon: 
@HystrixCommand(fallbackMethod = "serviceFailure")
feigin:
@FeignClient(name = "SERVICE-HELLOWORLD", fallback = HelloWorldServiceFailure.class)
Spring Cloud 入門教程(八): 斷路器指標數據監控Hystrix Dashboard 和 Turbine
Dashboard 只能監控一個
Turbine  可以同時監控所有
Spring Cloud 入門教程(九): 路由網關zuul
zuul:
  routes:
    ribbo:
      path: /api-ribbon/**
      serviceId: service-ribbon feign: path: /api-feign/** serviceId: service-feign
-----------------------------------------------------
這時啟動zuul服務, 然后訪問http://localhost:8904/api-ribbon可直接路由到http://localhost:8901/. http://localhost:8904/api-feign/hello可路由到http://localhost:8902/hello
filterType:返回一個字符串代表過濾器的類型,在zuul中定義了四種不同生命周期的過濾器類型,具體如下: 

pre:路由之前
routing:路由之時
post: 路由之后
error:發送錯誤調用
Spring Cloud 入門教程(十):和RabbitMQ的整合 -- 消息總線Spring Cloud Netflix Bus
Spring Cloud Netflix Bus是Spring Cloud的消息機制,當Git Repository 改變時,通過POST請求Config Server的/bus/refresh,Config Server 會從repository獲取最新的信息並通過amqp傳遞給client,
完成配置文件的自動刷新

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM