请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于微服务服务的数据库设计

用户模块一般作为独立的服务数据库,比如其它业务模块(订单模块) 我的每笔订单都是跟人绑定的。这里是需要用表join的。类似于这样的业务数据应该有很多,这样的表结构如何划分微服务。

正在回答 回答被采纳积分+3

1回答

格鲁 2018-01-26 13:01:37

微服务改造时要以限定上下文进行拆分,假设订单和用户分属两个不同的限定上下文。根据实际经验,用户通常作为一个最基础的服务,用户涉及的关联关系很多,为防止用户服务变的过于庞大,关联关系往往分拆到其它领域模型中进行维护,比如订单用户关系会放在订单服务中维护。
微服务拆分后,对于订单查询的场景,可以从订单用户关系表中的userid来查询出订单id列表,然后通过订单id列表查询订单表。对于多维度条件、分页、范围查询的场景可以将用户和订单表合并成一个宽表输出到ES中,来解决跨库join的问题

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信