原创 深入淺出RPC,通俗代碼理解dubbo

文章目錄背景思考測試RPC(dubbo)分析服務端代理類分析客戶端代理類再思考RPC核心問題細節補充 背景 現在的java後端服務都是類似微服務這種,面向接口編程,不管是開源的,dubbo, spring cloud ,還是各家

原创 Java反射有什麼用

文章目錄反射概念用處Demo實現原理 反射概念 簡單來就在程序運行過程中得到對象的,class,field,method,這玩意到底有啥用? 用處Demo 通常在Dao框架中,save方法都是泛型參數 save(T t) sa

原创 深入淺出類加載機制

文章目錄類加載機制概念類加載器的工作流程自定義類加載器 類加載機制概念 類加載器主要負責將class加載進jvm內存中,然後才能new出對象 三種加載器層次關係 三種加載器,負責加載的類路徑 類加載器的工作流程 簡單來說就是

原创 JVM 常用命令及實戰

文章目錄jstatjmap jstat jstac 主要用來查看GC情況 用法 jstat - [-t] [-h] [ []] jstat -gcutil 21946 2000 5 21946 進程ID 2000 每2S採集

原创 MAT outgoing references / incoming references

文章目錄MAT圖解 MAT 在使用MAT分析對象的時候有兩個重要的概念 outgoing references ,這個對象引用了哪些對象 incoming references ,哪些對象引用了這個對象 圖解 代碼 pu

原创 Flink 廣播流最佳實踐

文章目錄廣播流與普通流JOIN圖解代碼實踐 廣播流與普通流JOIN圖解 user actions 可以看作是事件流 patterns 爲廣播流,把全量數據加載到不同的計算節點 普通雙流join 根據join 條件,根據key的發

原创 JVM 常用參數詳解

文章目錄常用參數參考推薦使用工具參考驗證 常用參數參考 參數官方鏈接 參考 解釋 -Xms 初始堆大小 -Xmx 堆最大值 -xmn 堆年輕代大小 -Xss 設置線程棧大小 -XX:MaxMetasp

原创 java -jar引用其它jar包的問題

文章目錄背景解決思路實踐總結 背景 有這樣一種情況,如果是java -jar xx.jar這種情況,通常我們的邏輯是會把所有的jar包放在一起,這樣打包,這個會存在一種情況,就是打包下來非常大,由於程序要傳到服務器上執行,大概率

原创 JMXReport實現

文章目錄實現指標註冊MBeanJMXServerJMXReportJmxRequest總結 最近看kafka,flink源碼發現,監控指標都是通過jmx進行上報的,於是我也決定自己實現一個 流程圖 實現指標 Metrix p

原创 Flink on yarn 實踐

目錄環境配置啓動常見報錯參考資料 環境配置 yarn環境可用 flink-shaded-hadoop-2-uber-2.7.5-7.0.jar 複製到lib目錄下 啓動Flink 啓動 直接提交到yarn上 啓動命令 bi

原创 Flink Checkpoints & Savepoint 最佳實踐

文章目錄基本概念代碼實踐測試恢復總結 基本概念 Flink 中很重要的一點就是能夠保持任務的狀態,這樣任務失敗了,會根據上一次的結果重新計算,保證數據只被計算一次 實現原理,就是每隔一點時間對計算狀態作一個鏡像,這個狀態點稱爲C

原创 Influxdb+Grafana打造Flink監控大盤

Influxdb+Grafana打造Flink監控大盤Influxdb安裝Grafana安裝Flink配置Grafana配置報表 Influxdb安裝 爲什麼選influxdb,每條記錄都有一個時間戳,很適合這種統計的場景,當然

原创 Flink 調試watermark & allowedLateness

調試watermark & allowedLateness基本概念能明白什麼開始調試總結 基本概念 watermark 主要是爲了解決數據亂序到達的問題 allowed 解決窗口觸發後數據遲到後的問題 能明白什麼 窗

原创 編譯 kafka manager 源碼

kafka manager1.下載源碼2.安裝sbt編譯環境3.開始編譯4.部署使用5.啓動6.查看界面 kafka manager 作爲監控kafka的開源監控軟件,非常好用,之前網上下載了一個別人編譯好的版本,那個版本太老了

原创 maven-assembly-plugin 和 maven-shade-plugin 比較

maven-assembly-plugin 和 maven-shade-plugin Flink scala 打包報錯 Exception in thread "main" com.typesafe.config.ConfigEx