RPC 能否取代數據層?

RPC 能否取代數據層?

rpc 能否獨立于數據層?

假設有多個應用程序調用同一套數據模型,但都必須實現自己的數據訪問層方法。為了避免大量的重復代碼,有人提出將這部分代碼獨立為 RPC,以便所有應用程序通過 RPC 調用進行數據讀寫。

可行性探討

理論上,這種方法是可行的。它可以消除重復代碼,并在單一服務中集中數據訪問邏輯。最近的實踐表明,通過在 kubernetes 上部署,可以在同一網絡內運行多個應用程序而不會顯著影響性能。

替代方案:pkg

不過,對于使用Go 語言且使用相同數據庫或表結構的應用程序,更方便的做法是將數據訪問邏輯打包為一個pkg,并讓各個項目導入該pkg。這樣一來,可以避免 RPC 的復雜性,同時確保統一的維護。

使用RPC 的場景

以下是建議使用RPC 處理數據層的場景:

  • 數據訪問控制:如果需要控制不同應用程序接收的不同數據,可通過RPC 實現統一控制。
  • 數據庫隔離:如果后臺是唯一可訪問全部數據的用戶,則可考慮將數據庫隔離為一個獨立的 RPC 服務進行管理。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享