我使用 sso 開發具有獨立資料庫的多子網域網站,如下所示:
www.example.com(公司網站和商店)- www_db
blog.example.com - blog_db
#forum.example.com - forum_db
#account.example.com - 登入、註冊、account_db(使用者)
我有一個問題,在論壇上,用戶必須可以添加帖子,然後在呈現帖子列表時,我必須獲取每個帖子的用戶數據:用戶名、頭像等,但由於用戶和帖子是在不同的資料庫中,我該怎麼做?
我不明白它是如何發布的,我認為通過API 從帖子中通過user_ids 獲取用戶,但請求太多
我假設這是一個關於身份驗證的問題,在這種情況下,您可以透過
MessageQueue 向
AccountService 發出請求以取得該特定使用者的權限。如果您有大量流量,這可能會對網路造成沉重負擔 - 但這可以透過在
ForumService 中快取每個使用者及其權限來優化。
與 auth 相同的情況也適用。您可以一一取得這些用戶,並將它們快取到您認為必要的時間。當然,您會暫時失去一些資料一致性,但您將獲得可用性並降低網路流量(
最終一致性)。您也可以使 AuthService 發出
UserChangedNotification 並將不一致情況減少到絕對最低限度。
https://obeycode.com/articles/7 /微服務簡單術語---簡介#
以上是如何將多子網域網站與獨立的資料庫關聯起來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!