現代企業級應用面臨高效能、高可用、易維運、快速交付的多重挑戰。傳統 SOA 架構常導致服務拆分過細、網路延遲累積、配置地獄。FatDB 平台提出 面向任務架構(MOA),將資料與業務邏輯聚合為內聚的「群組」,在統一平台上解決分散式系統的核心難題。
核心挑戰與 FatDB 解決之道
| 傳統痛點 | FatDB/MOA 方案 |
| 資料與處理分離 → 高延遲 | 資料與邏輯同地部署,統一路由直達資料節點 |
| 異構技術堆疊 → 整合困難 | 單一平台提供 NoSQL、檔案、佇列、計算、監控全棧 |
| 擴容需手動調整各組件 | 群組層級擴容:新增伺服器即自動重平衡 |
| 業務變更需大規模重構 | FatApps/FatProcessors 熱部署,業務邏輯獨立演進 |
FatDB 平台九大核心建構塊
- 核心基礎:可攜式應用宿主、服務發現、代理/服務雙層、統一路由(20-byte hash key + 鏡像分區)、統一 API(Quorum/並行/循序存取、反熵鉤子)。
- FatDB / Cache:多模型 NoSQL、最終一致性、靈活一致性等級、ProtoBuf 序列化、物件級鎖、分散式 LINQ、可選持久化記憶體快取、SQL 整合、Map/Reduce。
- FatFMS:分散式檔案管理、多副本、UNC/URL/Stream 多重存取、中繼資料標籤搜尋、SQL Blob 外移。
- FatWQ:高速非同步工作佇列、可組合 DAG 任務網路、優先級排程、自訂 Processor、資料本地化處理、替代 MSMQ。
- FatApps:同步 WCF 服務宿主,平台自動處理路由、擴縮、冗余。
- FatProcessors:非同步批次任務處理器 SDK,與 FatWQ 整合。
- FatDB Management Studio (FatDBMS):類 SSMS 的圖形化管理工具,支援拖曳分組、LINQ 查詢、即時監控、零停機擴容、SQL 導入導出、視覺化 Map/Reduce。
- SQL 整合:FatDB 做 SQL 讀寫快取、分散式 Session、ORM/DTO 雙向同步、SSIS 批次操作。
- Map/Reduce 分析:跨群組原始資料提煉、商業指標計算、動態任務步驟圖。
關鍵技術亮點
- 統一路由:20-byte hash key 防衝突、均勻分布;網格狀鏡像分區,非傳統 Ring/Master-Slave,無熱點、線性擴展。
- 資料本地化計算:FatWQ 任務直接在資料所在節點執行,消除跨網路資料搬移。
- ProtoBuf 版本相容:保留每版本中繼資料,增減欄位不破壞現有客戶端,免遷移。
- 反熵與維護鉤子:平台內建資料修復、備份、重平衡機制,開發者只需註冊回呼。
實戰案例:Cricket Wireless Muve Music
- 百萬級訂閱用戶,後端近百台伺服器全跑 FatDB。
- 涵蓋用戶群組、音樂目錄群組、訂單出貨群組、金融報表群組(含 SQL 整合)。
- 新功能上線僅需部署新 FatApp/FatProcessor 至對應群組,零停機。
結語
FatDB 不是單一產品,而是一個完整的分散式計算生態系統。它將「資料、計算、部署、監控」融為一體,讓開發者專注於業務邏輯,以 MOA 思維取代傳統 SOA 的過度拆分,實現真正的線性擴展、高可用與低維運成本。對於尋求現代化大規模 .NET 架構的團隊,FatDB 提供了一條經過驗證的捷徑。