繁体   English   中英

架构微服务 spring 启动

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM