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