🎯 什麼情境該想到我
當你「想讓一個系統像呼叫本地方法一樣,同步地請另一個系統做事並立刻拿回結果」的時候(RPC、遠端服務呼叫、Web API)。
⚙️ 怎麼用(步驟 / 公式)
意圖:讓每個應用把自己的部分功能開放成可被遠端呼叫的介面,其他應用透過同步呼叫來使用其功能與資料。
做法 / 結構要點:
- 應用各自封裝資料,只透過介面(方法/服務)對外提供行為,隱藏內部實作。
- 呼叫端同步等待被呼叫端回傳結果,語意上接近呼叫本地函式。
- 相較共享資料庫,耦合的是「行為介面」而非資料模型,各系統可獨立維護資料。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 同步等待造成時間耦合:被呼叫端變慢或當機,呼叫端也被拖住。
- 受網路可靠性影響,遠端呼叫可能失敗、逾時、延遲,錯誤處理比本地呼叫複雜。
- 一連串跨系統同步呼叫容易堆疊延遲並形成緊密相依;需要削峰或高可用時不理想。
🔗 相關工具
- 訊息傳遞 Messaging(同為整合風格,改用非同步解除時間耦合)
- 共享資料庫 Shared Database(同為整合風格,耦合資料而非行為介面)
- 檔案傳輸 File Transfer(同為整合風格,最鬆耦合但即時性最差)
- 企業整合模式