假设有多个应用,调用同一套Models
数据,多个应用都需要各自实现数据访问层方法,有大量的重复代码,所以想是否可以将这部分代码独立为RPC
,这样不管是模型声明还是方法只需要实现一次,各个应用通过调用RPC实现数据读写。
实践中这样是否可行?
假设有多个应用,调用同一套Models
数据,多个应用都需要各自实现数据访问层方法,有大量的重复代码,所以想是否可以将这部分代码独立为RPC
,这样不管是模型声明还是方法只需要实现一次,各个应用通过调用RPC实现数据读写。
实践中这样是否可行?
当然可以,将数据访问层实现为RPC是一种可行的方案,可以让多个应用共享同一份代码,避免冗余实现。但是需要注意的是,RPC调用会带来额外的性能开销,需要根据实际情况综合考虑,选择适当的方案。同时,还需要确保RPC服务的高可用性、稳定性和安全性,这也需要付出一定的努力。
答案引用AI生成内容,并进行了验证
5 回答5.7k 阅读✓ 已解决
6 回答3.5k 阅读
2 回答7.5k 阅读✓ 已解决
2 回答3.3k 阅读✓ 已解决
2 回答6.7k 阅读✓ 已解决
1 回答5.4k 阅读✓ 已解决
1 回答5.3k 阅读✓ 已解决
从道理上来说是可行的,最近我针对用户部分就做了一套类似的东西,用k8s部署在同一套内网损耗不了多少性能。
但是用golang的话,且都是用的同一套数据库或者说数据库、表结构一致,可以作为一个
pkg
不同项目引入进来就行了,使用起来更方便,然后统一维护这套pkg
就行了,不需要搞得那么复杂。然后以我的经验来说一下用RPC做数据层的场景:
RPC
里统一做控制。RPC
调用,并把这一层的数据库独立出来专门用这套服务来做管理。