簡體   English   中英

使用Django rest框架在微服務之間共享數據庫關系

[英]Sharing database relations across micro-services with Django rest framework

我有兩個django REST API項目,已將它們解耦到微服務體系結構,其中一個服務是處理身份驗證的SSO( 我正在使用基於JWT令牌的身份驗證 )並管理用戶信息,另一個是工資服務。

問題是user與工資服務中的某些模型有關。 具體來說,我在工資服務中有一個Employee類,它具有一個user_id字段。 在這里,我將添加用戶UUID ,該用戶將從查詢SSO服務獲得。

考慮到每個服務都有自己的數據庫,我如何在微服務之間共享數據庫。

不建議在有限的上下文中共享數據庫,因為每個微服務都應具有更改其持久數據存儲方式的能力。 允許多個微服務管理數據庫將導致您陷入死星陷阱

但是,您可能希望將身份驗證上下文上的用戶數據的副本/更新發送到您的薪資服務。 這樣,您可以擁有獨立的數據持久性策略。 一種方法是在身份驗證上下文上實施事件發射策略,該事件發射策略將負責廣播在身份驗證上下文上進行的數據更改,駐留在另一個有界上下文中的訂戶可以偵聽以便他們可以存儲副本用戶數據在其自己的持久層上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM