公共表在分布式架构下该如何访问

一 什么是公共表?

被其他业务模块共享的基础数据表,被称为公共表。

比如:系统用户表、行政区划、组织机构、系统配置。

初期我们都将表全部放在一个库,但是到了后期,组织架构变动升级,项目升级,就需要将业务拆分?一个库存在什么问题?

当一个库中某个表数据量过大,如果sql编写不当,整个表全都会被锁住,那么使用这个表的所有业务都会被锁住。

此时我们需要做什么?

  1. 将公共表下沉为基础服务
  2. 将业务模块上浮为业务服务

业务应用通过rpc、restFul Api访问,如下图:

![image](images/Qo2dB6WwFwTKhKmYIG6TE-L4oFuPAaeX_HMA2q1FMQs.png)

只允许用户服务访问我们的用户表。

那么我们要如何设计如何访问呢?如微服务的架构下。

![image](images/ViUsoqDa-dwppVM0SD8S7fU1BdZWNWPBiKcDmGbAr5Y.png)

如何去设计这种请求呢?

我们需要封装一个自定义的User类,包含了userId和其详细的信息。

![image](images/JrA8GH7n5HR5_wRiyqKNtc-Ym4J6uqsKLR7Z_Ann974.png)

然后我们自定义一个注解@RC,其作用是通过指定用户中心的地址,填充我们用户的信息。

Last modification:July 5, 2022
If you think my article is useful to you, please feel free to appreciate