[英]architecture microservice spring boot
我正在使用 Spring 云(微服务),并且我已经使用 JWT 令牌实现了安全性。 在我的安全应用程序中,我有像 User、Role 和 UserRole 这样的实体。 所以每个请求首先到达 ZOOL 服务并调用身份验证服务,身份验证服务创建/返回 JWT 令牌。 另外,我还有另一个需要 JWT 令牌的微服务休息应用程序(问题应用程序)。 在 Questions-app 我有一个包含 authorId 字段的 Question 实体。
@Entity
@Table(name="QUESTION")
public class Question {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", updatable = false, nullable = false)
private long id;
@Column(name = "AUTHOR")
private long authorId;
@Column(name = "TITLE")
private String title;
}
现在,我不清楚,设置authorId 长类型是否正确,或者我应该在问题应用程序中创建用户、角色、用户角色实体(只是 AUTH 项目的简单副本)并像这样设置“作者”列
@OneToOne
@JoinColumn(name="AUTHOR")
private User user;
我知道,在第一个选项中,当我需要在网页上显示问题和用户名时,我应该调用 2 个服务(一个来自 question-app(获取问题),另一个来自 auth 服务(通过作者 ID 获取用户信息)我会想知道最好的做法是什么?
如果您有所有这些微服务的通用数据库,并且您需要基于问题 ID 的用户相关信息。
然后,您可以直接对用户执行@OneToOne
,而不是为用户执行另一个数据库调用。
从您的问题来看,最好选择 go 2 个选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.