原创 Spring Cloud升級之路 - Hoxton - 1.背景介紹與要實現的功能

本系列示例與膠水代碼地址: https://github.com/HashZhang/spring-cloud-scaffold Spring Cloud還是比較活躍的,更新一直很快。我一般考慮最新版本SR2發佈之後,再考慮升

原创 Spring Cloud升級之路 - Hoxton - 3. 負載均衡從ribbon替換成spring-cloud-loadbalancer

本系列示例與膠水代碼地址: https://github.com/HashZhang/spring-cloud-scaffold 負載均衡Ribbon替換成Spring Cloud Load Balancer Spring C

原创 JDK核心JAVA源碼解析(8) - 自動封箱拆箱與效率的思考

想寫這個系列很久了,對自己也是個總結與提高。原來在學JAVA時,那些JAVA入門書籍會告訴你一些規律還有法則,但是用的時候我們一般很難想起來,因爲我們用的少並且不知道爲什麼。知其所以然方能印象深刻並學以致用。 本文基於 Java

原创 Spring Cloud升級之路 - Hoxton - 7. 後續更新(WebFlux等)

1. 修正實例列表亂序導致的負載均衡重試相同實例的問題 雖然之前考慮了通過每個請求的traceId隔離負載均衡的position來實現重試不會重試相同實例的問題,但是沒有考慮在負載均衡過程中,實例列表的更新。 例如: 請求第一次

原创 深度探索JFR - JFR詳細介紹與生產問題定位落地 - 1. JFR說明與啓動配置

本文基於 OpenJDK 11 並涉及一些之後版本的特性,非 OpenJDK 11 的特性會被特殊標記出來 什麼是 JFR? 我們都知道,黑匣子是用於記錄飛機飛行和性能參數的儀器。在飛機出問題後,用於定位問題原因。JFR 就是

原创 Spring Cloud升級之路 - Hoxton - 4. 使用Resilience4j實現實例級別的隔離與熔斷

如何不啓用Hystrix 由於我們的入口註解類從@SpringCloudApplication替換成了SpringBootApplication,這樣不會啓用Spring-Cloud-CircuitBreaker。引入的Hystr

原创 Spring Cloud升級之路 - Hoxton - 6. 場景測試

準備工作 首先拉取項目源碼: git clone https://github.com/HashZhang/spring-cloud-scaffold.git 打開其中的 spring-cloud-hoxton 項目。 啓動E

原创 Spring Cloud升級之路 - Hoxton - 2.入口類註解修改與OpenFeign的改造

本系列示例與膠水代碼地址: https://github.com/HashZhang/spring-cloud-scaffold 入口類註解修改 之前的項目,我們也許會用@SpringCloudApplication作爲我們入

原创 Spring Cloud升級之路 - Hoxton - 5. 實現微服務調用重試

feign 實現重試 我們繼續使用resilience4j實現重試,根據上一篇Spring Cloud升級之路 - Hoxton - 4. 使用Resilience4j實現實例級別的隔離與熔斷,我們已經加載了RetryReqist

原创 OpenJDK11與Spring Cloud Finchley的不兼容問題與解決

本文的環境:OpenJDK 11.0.4,Spring Cloud finchley SR4,Spring Boot 2.0.3 最近遇到了一個問題,在feign調用的時候,時常會出現這樣一個奇怪的錯誤: 2019-10-07

原创 Ribbon的AvailabilityFilteringRule的坑(Spring Cloud Finchley.SR2)

如題,本文基於Spring Cloud Finchley.SR2 我們項目配置了AvailabilityFilteringRule作爲所有Ribbon調用的負載均衡規則,它有那些坑呢(理解歧義和注意點)? 首先來看源碼,核心是

原创 Spring Cloud Finchley OpenFeign的重試配置相關的坑

如題,本文基於Spring Cloud Finchley.SR2 OpenFeign的重試 OpenFeign配置重試後,邏輯分析 對比Daltson和Finchley的基本組件,發現Ribbon還有Hystrix的重試邏輯基

原创 深度探索JFR - JFR詳細介紹與生產問題定位落地 - 3. 各種Event詳細說明與JVM調優策略(2)

2. JAVA 應用相關 2.4. Java Monitor 同步鎖相關 主要是三種 Event: 當進入同步塊,嘗試獲取鎖的時候,產生 JavaMonitorEnter Event;當調用 Object.wait() 進入等待時

原创 深度探索JFR - JFR詳細介紹與生產問題定位落地 - 3. 各種Event詳細說明與JVM調優策略(1)

Event 採集詳細配置 目前,JDK 11 一共有136個 Event 採集配置。這裏會比較詳細的去看每一個Event,並說明基本應用,建議配置。如果 default.jfc 中沒有打開或者需要修改的配置,會將配置文件代碼發出來

原创 深度探索JFR - JFR詳細介紹與生產問題定位落地 - 2. 通過一個線上調優例子瞭解JMC 與 Event 結構與詳細配置

查看 JFR 事件的工具 - JMC (Java Mission Control) 官網地址:https://adoptopenjdk.net/jmc.html 國內下載起來比較慢,建議在aws上面建一個歐洲法蘭克福的實例,在這個