
RPC 独立数据层的可行性分析
多个应用程序共享同一组数据时,为了减少重复代码,有人提出将数据访问层独立为 RPC。那么,这种做法在实践中是否可行呢?
可行性分析
从理论上讲,这种做法是可行的。最近有实践证明,对于用户部分可以通过 Kubernetes 部署在同一内网中,性能消耗可以忽略不计。
替代方案
Flex是一个基于组件的开发框架,可以生成一个由Flash Player运行的富互联网应用程序。Flex将基于标准的语言和各种可扩展用户界面及数据访问组件结合起来,使得开发人员能够构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序。 Flex是一个建立在Flash平台上的富客户端应用开发工具包,Flex 作为富 Internet 应用(RIA)时代的新技术代表,自从 2007 年 Adobe 公司将其开源以来,Flex 就以前所未有的速度在成长。感兴趣的朋友可以过来看看
不过,对于 Go 语言来说,如果所有应用程序都使用同一数据库或具有相同的表结构,那么可以将数据访问层作为一个 pkg 引入不同项目中,使用更为方便。
RPC 数据层的适用场景
基于经验,将数据层独立为 RPC 的主要场景如下:
- 控制不同应用程序获取的数据不同:可通过 RPC 统一进行控制。
- 底层数据库对用户不可完全暴露:只有后台可以访问全部数据,则可以将数据层独立为 RPC 调用并使用独立服务进行管理。









