原创 十五、微服務跟蹤之Spring Cloud Sleuth與Zipkin配合使用

Zipkin簡介 Zipkin是Twitter開源的分佈式跟蹤系統,基於Dapper的論文設計而來。它的主要功能是收集系統的時序數據,從而跟蹤微服務架構的系統時序等問題。Zipkin還提供了一個非常友好的界面,來幫助分析追蹤數據。

原创 十四、微服務跟蹤之Spring Cloud Sleuth

爲什麼要實現微服務跟蹤 微服務之間通過網絡進行通信,同時網絡常常很脆弱,網絡資源也有限。如果能夠跟蹤每個請求,瞭解請求經過哪些微服務、請求耗費時間、網絡延遲、業務邏輯耗費時間等指標、那麼久能更好地分析系統瓶頸、解決系統問題。 Spin

原创 十三、統一管理微服務配置之Spring Cloud Bus自動刷新配置

使用/refresh端點手動刷新配置 給客戶端的Controller添加@RefreshScope註解,即可用POST訪問/refresh端點刷新配置。 使用Sping Cloud Bus自動刷新配置 爲什麼使用Sping Cloud

原创 十一、微服務網關之Zuul的Hystrix隔離策略和線程池

Spring Cloud中,Zuul默認已經整合了Hystrix,而Hystrix有隔離策略——THREAD及SEMAPHORE。 隔離策略 默認情況下,Zuul的隔離策略是SEMAPHORE 。 可設置zuul.ribbonIso

原创 十二、統一管理微服務配置之Spring Cloud Config

爲什麼要統一管理微服務配置 對於Spring Boot單體應用,在啓動時指定spring.profiles.active={profile}來加載不同環境下的配置。 在微服務架構中,這種方式未必適用,微服務架構對配置管理有着更高的要求

原创 十、微服務網關之Zuul容錯與回退

Spring Cloud中,Zuul默認已經整合了Hystrix。 Zuul回退 編寫Zuul回退類: @Component public class MyFallbackProvider implements FallbackPro

原创 九、微服務網關之Zuul過濾器

過濾器類型與請求生命週期 PRE:這種過濾器在請求被路由之前調用。可利用這種過濾器實現身份驗證、在集羣中選擇請求的微服務、記錄調試信息等。 ROUTING:這種過濾器將請求路由到微服務。這種過濾器用於構建發送給微服務的請求,並使用A

原创 八、微服務網關之Zuul

爲什麼要用微服務網關 如下圖,外部客戶端可能需要調用多個服務的接口才能完成一個業務需求,如果讓客戶端直接與微服務通信會產生以下的問題: 客戶端會多次請求不同的微服務,增加了客戶端的複雜性。 存在跨域請求,在一定場景下處理比較複雜。

原创 七、微服務容錯處理之Hystrix的監控

Hystrix的監控 爲客戶端添加spring-boot-starter-actuator依賴; 訪問http://127.0.0.1:8010/hystrix.stream,就會不斷刷新如下監控數據: ping: dat

原创 四、微服務容錯處理之Hystrix

實現容錯的手段 雪崩效應 我們常把"基礎服務故障"導致"級聯故障"的現象稱爲雪崩效應。雪崩效應描述的是提供者不可用導致消費者不可用,並將不可用逐漸放大的過程。 如圖所示,A作爲服務提供者(基礎服務),B爲A的服務消費者,C和D是B的服

原创 三、微服務聲明式REST調用之Feign

Feign簡介 在負載均衡篇的示例中使用RestTemplate實現REST API調用: @GetMapping("/user/{id}") public User findById(@PathVariable Long id) {

原创 二、微服務客戶端負載均衡之Ribbon

Ribbon簡介 Ribbon是Netflix發佈的負載均衡器,它有助於控制HTTP和TCP的客戶端的行爲。爲Ribbon配置服務提供者地址後,Ribbon就可基於某種負載均衡算法,自動地幫助服務消費者去請求。Ribbon默認爲我們

原创 一、微服務註冊與發現之Eureka

Eureka簡介 Eureka是Netflix開源的服務發現組件,本身是一個基於REST的服務。包含Server和Client兩部分。Spring Cloud將它集成在子項目Spring Cloud Netflix中,從而實現微服務

原创 VisualStudioCode通過SSH遠程編輯文件

原文鏈接:http://www.bestqliang.com/2018/06/19/VisualStudioCode%E9%80%9A%E8%BF%87SSH%E8%BF%9C%E7%A8%8B%E7%BC%96%E8%BE%91%E6%

原创 java中的集合區別

原文鏈接:http://www.bestqliang.com/2018/03/20/java%E4%B8%AD%E7%9A%84%E9%9B%86%E5%90%88%E5%8C%BA%E5%88%AB/ HashMap和HaspTabl