【发布时间】:2020-01-31 10:19:16
【问题描述】:
我在 Spring Boot 微服务架构中有两个微服务。比方说……
- 热点服务
- 附件服务
这两个服务都包含一个域模型,当然最终在单独的 JAR 中。
HotSpot 域模型(HotSpot 服务)
@Entity
public class HotSpot {
@Id
private Long id;
}
附件域模型(附件服务)
@Entity
public class Attachment {
@Id
private Long id;
}
如果您创建一个新的热点,应该可以添加一个额外的附件,例如描述图像。因此,热点实体与其附件之间应该存在某种关联/映射。在单体应用程序中,这将通过使用 JPA 注释 @OneToOne 或类似的东西进行注释来实现。
如何在微服务架构中实现这一点?这两个类都在单独的 JAR/项目中!我考虑将标识符存储为Long,独立于JPA。
有什么“更好的”/其他想法吗?
【问题讨论】:
-
你可以存储附件的URI
-
作为实体类的一部分?只存储标识符有什么好处?
-
REST 中的资源有一个 URI。如果您只存储 id,则必须在任何地方配置 URI。但正如@Didier 所说,将这两个密切相关的微服务分开可能没有意义。微服务应尽可能独立
标签: java spring spring-boot jpa microservices