RPC 能否取代数据层?

rpc 能否取代数据层?

RPC 能否独立于数据层?

假设有多个应用程序调用同一套数据模型,但都必须实现自己的数据访问层方法。为了避免大量的重复代码,有人提出将这部分代码独立为 RPC,以便所有应用程序通过 RPC 调用进行数据读写。

可行性探讨

理论上,这种方法是可行的。它可以消除重复代码,并在单一服务中集中数据访问逻辑。最近的实践表明,通过在 Kubernetes 上部署,可以在同一网络内运行多个应用程序而不会显着影响性能。

替代方案:pkg

不过,对于使用Go 语言且使用相同数据库或表结构的应用程序,更方便的做法是将数据访问逻辑打包为一个pkg,并让各个项目导入该pkg。这样一来,可以避免 RPC 的复杂性,同时确保统一的维护。

使用RPC 的场景

以下是建议使用RPC 处理数据层的场景:

  • 数据访问控制:如果需要控制不同应用程序接收的不同数据,可通过RPC 实现统一控制。
  • 数据库隔离:如果后台是唯一可访问全部数据的用户,则可考虑将数据库隔离为一个独立的 RPC 服务进行管理。

以上就是RPC 能否取代数据层?的详细内容,更多请关注其它相关文章!