數(shù)據(jù)層可獨(dú)立為 rpc,但場景需謹(jǐn)慎選擇
當(dāng)前的業(yè)務(wù)系統(tǒng)往往涉及多個應(yīng)用,它們需要訪問同一套數(shù)據(jù)模型。為了避免大量重復(fù)代碼,開發(fā)者提出了將數(shù)據(jù)訪問層獨(dú)立為 RPC 的方案,以便應(yīng)用只需調(diào)用 RPC 即可實(shí)現(xiàn)數(shù)據(jù)讀寫。
可行性分析
理論上,將數(shù)據(jù)層獨(dú)立為 RPC 是可行的。實(shí)際應(yīng)用中,開發(fā)者將其部署在 kubernetes 集群內(nèi),損耗的性能微乎其微。
選擇方案
不過,使用 Go 語言且數(shù)據(jù)庫結(jié)構(gòu)一致的情況下,將數(shù)據(jù)訪問層作為 pkg 引入更方便,無需引入 RPC。
RPC 方案的適用場景
若滿足以下場景,則可考慮采用 RPC 獨(dú)立數(shù)據(jù)層:
- 數(shù)據(jù)訪問控制:不同應(yīng)用需要獲取不同的數(shù)據(jù)時,可通過 RPC 統(tǒng)一控制。
- 后臺管理:底層數(shù)據(jù)庫需要限制應(yīng)用訪問權(quán)限,僅后臺可訪問全部數(shù)據(jù)時,可將數(shù)據(jù)庫獨(dú)立為 RPC 服務(wù),由該服務(wù)統(tǒng)一管理。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END