jeesuite-libs組件庫基於主流開發框架封裝,簡單易用,靈活性高。集成配置中心、監控管理、分佈式日誌等開箱即用
![分佈式架構開發套件 jeesuite-libs](http://p2.ttnews.xyz/loading.gif)
簡介
jeesuite-libs分佈式架構開發套件。包括緩存(一二級緩存、自動緩存管理)、隊列、分佈式定時任務、文件服務(七牛、阿里雲OSS、fastDFS)、日誌、搜索、代碼生成、API網關、配置中心、統一認證平臺、分佈式鎖、分佈式事務、集成dubbo、spring boot支持、統一監控等。所有release版都經過嚴格測試並在生產環境穩定運行4年+。
為什麼有jeesuite-libs
- 一些框架使用起來比較複雜(譬如各種配置,各種資源管理,容錯等),針對這種情況我們做了大量二次封裝旨在簡化使用難度。
- 一些框架高度抽象貌似能滿足所有應用場景,但是實際上大部分情況我們只用到了他10%的功能,結果她卻只解決了我們90%的問題,針對這種情況我們就放棄使用而是參考他的設計自己實現一套簡化版本
文檔
http://www.jeesuite.com/docs
願景
服務中小企業、減低架構成本、整體方案開箱即用。
原則
- 只做增強不修改依賴框架本身,可自由升級版本。
- 持續更新、所有release版本經過嚴格測試和線上驗證。
- 貼近業務場景、只做有用的功能。
- 高度靈活、每個模塊可以獨立使用。
功能列表
cache模塊
- 基於配置支持單機、哨兵、分片、集群模式自由切換
- 更加簡單的操作API封裝
- 一級緩存支持(ehcache & guava cache)、分佈式場景多節點自動通知
- 多組緩存配置同時支持 (一個應用多個redis server)
- 分佈式模式開關
kafka模塊
- 基於spring封裝簡化配置和調用方式
- 基於配置新舊兩版Consumer API兼容支持
- 支持二階段處理,即:fetch線程同步處理和process線程異步處理
- 消費成功業務處理失敗自動重試或自定義重試支持
- process線程池採用LinkedTransferQueue,支持線程回收和隊列大小限制,確保系統崩潰等不會有數據丟失。
- 支持特殊場景發送有狀態的消息(如:同一個用戶的消息全部由某一個消費節點處理)
- 兼容遺留kafka系統、支持發送和接收無封裝的消息
mybatis模塊
- 代碼生成、自動CRUD、可無縫對接mybaits增強框架Mapper
- 基於properties配置多數據源支持,無需修改XML
- 讀寫分離,事務內操作強制讀主庫
- 基於註解自動緩存管理(所有查詢方法結果自動緩存、自動更新,事務回滾緩存同步回滾機制)
- 自動緩存實現基於jeesuite-cache和spring-data-redis
- 分頁組件
- 簡單分庫路由(不支持join等跨庫操作)
scheduler模塊
- 支持分佈式保證單節點執行(按節點平均分配job)
- 支持failvoer,自動切換故障節點
- 支持多節點下並行計算
- 支持無註冊中心單機模式
- 支持自定義重試策略
- 支持配置持久化(啟動加載、變更保存)
- 支持控制檯任務監控、開停、動態修改調度時間策略、手動觸發執行
rest模塊
- 自動resonse封裝(xml、json)
- i18n
- request、response日誌記錄
- 自動友好錯誤
- 校驗框架
filesystem模塊
- 七牛文件服務支持
- 阿里雲OSS文件服務支持
- fastDFS文件系統支持
- 支持spring集成
- 配置式切換服務提供商
common模塊
- 一些常用工具類
common2模塊(需要依賴一些組件或者基礎設置)
- 分佈式鎖
- 分佈式全局ID生成器
- excel導入導出
jeesuite-springboot-starter模塊
- springboot集成支持
閱讀更多 儒雅程序員 的文章