将数据访问层独立为 RPC,真的可行吗?
RPC 独立数据层的可行性分析
多个应用程序共享同一组数据时,为了减少重复代码,有人提出将数据访问层独立为 RPC。那么,这种做法在实践中是否可行呢?
可行性分析
从理论上讲,这种做法是可行的。最近有实践证明,对于用户部分可以通过 Kubernetes 部署在同一内网中,性能消耗可以忽略不计。
替代方案
不过,对于 Go 语言来说,如果所有应用程序都使用同一数据库或具有相同的表结构,那么可以将数据访问层作为一个 pkg 引入不同项目中,使用更为方便。
RPC 数据层的适用场景
基于经验,将数据层独立为 RPC 的主要场景如下: