將數(shù)據(jù)訪問層獨(dú)立為 RPC,真的可行嗎?

將數(shù)據(jù)訪問層獨(dú)立為 RPC,真的可行嗎?

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)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享