rpc 獨(dú)立數(shù)據(jù)層的可行性分析
多個(gè)應(yīng)用程序共享同一組數(shù)據(jù)時(shí),為了減少重復(fù)代碼,有人提出將數(shù)據(jù)訪問層獨(dú)立為 RPC。那么,這種做法在實(shí)踐中是否可行呢?
可行性分析
從理論上講,這種做法是可行的。最近有實(shí)踐證明,對(duì)于用戶部分可以通過 kubernetes 部署在同一內(nèi)網(wǎng)中,性能消耗可以忽略不計(jì)。
替代方案
不過,對(duì)于 Go 語言來說,如果所有應(yīng)用程序都使用同一數(shù)據(jù)庫或具有相同的表結(jié)構(gòu),那么可以將數(shù)據(jù)訪問層作為一個(gè) pkg 引入不同項(xiàng)目中,使用更為方便。
RPC 數(shù)據(jù)層的適用場景
基于經(jīng)驗(yàn),將數(shù)據(jù)層獨(dú)立為 RPC 的主要場景如下:
- 控制不同應(yīng)用程序獲取的數(shù)據(jù)不同:可通過 RPC 統(tǒng)一進(jìn)行控制。
- 底層數(shù)據(jù)庫對(duì)用戶不可完全暴露:只有后臺(tái)可以訪問全部數(shù)據(jù),則可以將數(shù)據(jù)層獨(dú)立為 RPC 調(diào)用并使用獨(dú)立服務(wù)進(jìn)行管理。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END