Java微服务外键关系

时间:2017-02-21 10:57:16

标签: java spring-cloud-netflix

我正在学习java中的微服务,经过多次参考设计和模式后仍然不清楚检查外键关系的正确方法是什么。

我有两个微服务userService和groupService。

userService has: user_id, user_name, group_id
groupService has: group_id, group_name

通过Rest POST添加新用户时,我必须确保group_id存在于groupService中。

经过多次参考后,我采用了以下方法:

首先,userService Post使用提供的groupid调用组服务来检查组是否存在,然后添加用户但不满意,因为这似乎与用户服务紧密耦合,而且我必须在userService中获取Group域对象来解析它。 / p>

使用聚合器模式的第二种方式。我创建了另一个服务user_department_composite_service并在此服务中引入了通用域模型,因此在POST到组合服务,调用GET组和成功调用POST用户。这似乎将问题与用户服务区分开来,但对于我正在调用POST composite_service的POST用户并不满意。

第三种方法似乎是事件采购(尚未完成)。

任何人都可以指导我或提供更好的方法来参考,因为这似乎是微服务的常见问题。如果有人知道微服务设计模式的好书,请告诉我。

由于

0 个答案:

没有答案