原创 Pinpoint2.X搭建重要信息

這裏提供一個Pinpoint2.X搭建重要信息,因爲最近在搭建Pinpoint,基本全部的流程都走了一遍,我這邊是準備自己後續維護Pinpoint,寫插件是必須的,也有可能研究一下源碼。 問題就是,如果你使用了hbase2.X作爲Pinpo

原创 Spring Cloud體系實現標籤路由

如果你正在使用Spring Cloud體系,在實際使用過程中正遇到以下問題,可以閱讀本文章的內容作爲後續你解決這些問題的參考,文章內容不保證無錯,請務必仔細思考之後再進行實踐。 問題: 1,本地連上開發或測試環境的集羣連調,正常測試請求可能

原创 限流常規設計和實例

限流算法 計數器限流 固定窗口 滑動窗口 桶限流 令牌桶 漏桶 計數器 計數器限流可以分爲: 固定窗口 滑動窗口 固定窗口 固定窗口計數器限流簡單明瞭,就是限制單位之間內的請求數,比如設置QPS爲10,那麼從一開始的請求進入

原创 連接池-Mybatis源碼

持續更新:https://github.com/dchack/Mybatis-source-code-learn Mybatis連接池 有這麼個定律,有連接的地方就有池。 在市面上,可以適配Mybatis DateSource的連接池有很對

原创 Transaction-Mybatis源碼

github地址:https://github.com/dchack/Mybatis-source-code-learn (歡迎star) TransactionFactory 官方文檔: 在 MyBatis 中有兩種類型的事務管理器(也

原创 StatementHandler-Mybatis源碼系列

內容更新github地址:我飛 StatementHandler接口 StatementHandler封裝了Mybatis連接數據庫操作最基礎的部分。因爲,無論怎麼封裝,最終我們都是要使用JDBC和數據庫打交道的。 最早我們學習java連接

原创 Feign源碼解析系列-最佳實踐

前幾篇準備寫完feign的源碼,這篇直接給出Feign的最佳實踐,考慮到目前網上還沒有一個比較好的實踐解釋,對於新使用spring cloud的同學會對微服務之間的依賴產生一些迷惑,也會走一些彎路。這裏給出目前本人在公司推薦的最佳實踐,供各

原创 Feign源碼解析系列-核心初始化

開始 初始化Feign客戶端當然是整個過程中的核心部分,畢竟初始化完畢就等着調用了,初始化時候準備的什麼,流程就走什麼。 內容 從上一篇中,我們已經知道,對於掃描到的每一個有@FeignClient,都會組裝一個FactoryBean即Fe

原创 Feign源碼解析系列-註冊套路

感謝不知名朋友的打賞,感謝你的支持! 開始 在追尋Feign源碼的過程中發現了一些套路,既然是套路,就可以舉一反三,所以值得關注。 這篇會詳細解析Feign Client配置和初始化的方式,這些方式大多依賴Spring的遊戲規則,在和Spr

原创 Feign源碼解析系列-那些註解們

開始 Feign在Spring Cloud體系中被整合進來作爲web service客戶端,使用HTTP請求遠程服務時能就像調用本地方法,可見在未來一段時間內,大多數Spring Cloud架構的微服務之間調用都會使用Feign來完成。 所

原创 zuul源碼(2)

路由 路由是網關的核心功能,既然在spring的框架下,那就要按Spring的規矩來。 路由規則類:org.springframework.cloud.netflix.zuul.filters.Route 維護這以下信息: private

原创 zuul1.3源碼扒一扒(1)

先開個頭吧 作爲偶爾點進源碼的時候看到東西,或是學到,或是不解,或是驚訝,之後的一些記錄。從springcloud各個組件開始吧,計劃文段保持間斷,只道出核心點,不過各個文段保持連續。 zuul作爲spring cloud 推薦網關,搭建起

原创 Feign get接口傳輸對象引發一場追尋

一個報錯引發的追尋之路: Feign get接口傳輸對象,調用方接口代碼: @FeignClient(name = "manage") public interface AccessApiService { @RequestMap

原创 HashMap源碼

  閱讀java1.8的hashmap,羅列一些特性,jdk的代碼永遠是挖不完的寶藏。   1,可以用null做爲key和value 2,capacity和load factor影響性能 3,線程不安全,外部用同步對象控制,還可以用sync

原创 cglib源碼主流程源碼-我們到底能走多遠系列48

扯淡 祝各位在園裏的朋友新年快樂! 辛苦一年,爲更好的自己也爲更好的世界,很多人要感謝你們,你們也應該有很多人要感謝吧。 看了馬斯克的採訪視頻,又想起蘭迪·鮑許的最後一課,時光遷移,唯有夢想可堅持。 概念 在java的世界裏,基於jvm實現