1
huifer 2020-09-30 16:51:45 +08:00
不建议冗余过多字段, 将 id 和外键保留, 通过各自服务提供模糊查询查出 id 在进行 in 操作. 各个服务提供最基本服务,指代这个模块中的业务, 其他的组合结果最好是能够依靠 聚合服务进行处理.
举个例子 签名模块需要去查询有哪些楼房被签约, 假设条件小区名称, 1. 通过房屋模块查询小区名称的条件, 返回房屋的 ids. 2. 将第一步的 ids 放入签约模块查询出签约列表. 3. 如果需要拓展字段如将房屋的详情查询. 在去房屋模块进行查询 id 最后在组装返回. 通常我会将上述模块会被独立出来做一个聚合服务. |
2
polyang OP @huifer 有点懂了,另外,这个聚合服务怎么样做呢?“通常我会将上述模块会被独立出来做一个聚合服务”中的上述模块指的是什么模块
|
3
huifer 2020-10-12 14:42:04 +08:00
假设目前使用的 rpc 框架是 Dubbo. 我会将上述的第 2 步做一个 dubbo-service, 便于在聚合服务中调用. 其他的也是类似.
此时我们会拥有 房屋模块 Dubbo 、 签约模块 Dubbo. 其中聚合服务就是将这两个 Dubbo 进行组装, 然后返回. 上述采用 Dubbo 实际场景可以根据贵公司的 RPC 框架进行选择. |