GitHub 地址: github.com/stateIs0/Lu…git
最近一直在開發一個 mini rpc 系統,支持一些 rpc 常見的功能,例如客戶端負載均衡,故障轉移,熔斷,自適應限流,多通道流量分配,動態配置等等。github
不過也總算是開發完了,目前已經在線上跑起來了。負載均衡
好了,總算有點點時間來維護一下個人 Lu-Rpc 了。說實話,在開發那個項目的期間,仍是有不少思考的,一些平時本身看源碼不重視的地方,在真正寫代碼的時候,須要考慮的有不少。框架
例如領域模型的生命週期管理,日誌格式,異常處理,配置管理,等等這些「瑣事」吧,請容許我稱之爲瑣事。在框架開發中,咱們彷佛更關注核心功能的實現,可是這些打雜的活也是必不可少的。例如生命週期的管理,若是沒有管理好系統資源,當應用關閉後,還有不少資源沒法釋放,日誌就更不用說了,日誌裏要包含上下文信息,參數,結果,異常類型,環境信息,最好包含 ip,port , JDK version,系統 load,等等。配置呢?固然也是重要的,此次我參照 hystrix 的配置寫另外一個簡單的動態配置,能夠靈活管理框架裏配置。設計
好了,嘮叨了這麼多,主要仍是講一些本身在此次將近一個的框架開發中的心得吧,寫了大概 1 萬行代碼,一我的。時間比較緊,junit test case 寫的很少,主要跑通了流程就基本認爲 ok 了。這大概就是項目小的好處吧。日誌
Lu-Rpc 的初心是爲了初學者,所以這次增長的功能只有核心功能:生命週期
年末了,立刻又要忙起來了,又沒時間維護了。☹️隊列
無論怎麼樣,歡迎你們 star !!!爭取過 100 star,我就知足了,哈哈!ip
GitHub 地址: github.com/stateIs0/Lu…資源