公共表在分布式架构下该如何访问
一 什么是公共表?
被其他业务模块共享的基础数据表,被称为公共表。
比如:系统用户表、行政区划、组织机构、系统配置。
初期我们都将表全部放在一个库,但是到了后期,组织架构变动升级,项目升级,就需要将业务拆分?一个库存在什么问题?
当一个库中某个表数据量过大,如果sql编写不当,整个表全都会被锁住,那么使用这个表的所有业务都会被锁住。
此时我们需要做什么?
- 将公共表下沉为基础服务
- 将业务模块上浮为业务服务
业务应用通过rpc、restFul Api访问,如下图:
只允许用户服务访问我们的用户表。
那么我们要如何设计如何访问呢?如微服务的架构下。
如何去设计这种请求呢?
我们需要封装一个自定义的User类,包含了userId和其详细的信息。
然后我们自定义一个注解@RC,其作用是通过指定用户中心的地址,填充我们用户的信息。