基於資料層依賴訊號的微服務功能切分研究
Authors
Files
Abstract
本研究鎖定單體系統導入微服務架構的早期探索階段,提供一種低成本且可解釋的方式,先產生「可參考的候選邊界」並量化潛在風險,作為後續是否投入高成本重構的依據。為降低建模門檻並保留可解釋性,以「資料層依賴訊號」為核心從程式中抽取服務(或模組)對資料表的使用關係,並透過先行實驗驗證其可行性,在尚未引入多源訊號與繁複流程之前,直觀呈現高風險的共享表及其依賴分佈,提供輔助決策的可視化建議與評估結果。
以開源電商 Shopizer 3.2.7 為案例,針對其程式碼與 SQL 語句進行解析,萃取服務與資料表之間的存取關係, 構建模組相似度矩陣, 並採用
HDBSCAN 演算法進行密度式分群來自動生成微服務候選。同時,本研究提出共享表裁決器(Shared Table Arbiter, STA)概念,作為輔助機制輸出共享表風險報告,揭示跨群依賴的潛在風險。研究提出一個可重複執行的先行流程,以及面向共享資料痛點的 STA 報告機制,期望能在早期快速獲得合理的服務模組候選與風險地圖。綜合實驗結果,本研究在Shopizer 3.2.7 上由資料層依賴自動產生 5 個候選群集,並以 STA 快速標示高風險共享表。相較 200 次隨機切分, 群內 Jaccard 平均 0.26 ( 隨機0.03±0.02 ) 、資料表所有權集中度 0.91 ( 隨機0.67±0.03 ) , 而跨群重疊邊比例 0.34 ( 隨機0.91±0.05);顯示本法在提升內聚、釐清所有權與降低錯分(進而減少跨服務協作成本)上具體優於隨機基準。未來將(1)融合動態跡證與版本共變更等多源訊號並以消融實驗量化貢獻,(2)工具化為CLI/容器化流程以便重複執行與導入管線,(3)擴展至 ERP/社群等異質系統進行跨情境驗證。
