首頁 >後端開發 >Golang >如何將多子網域網站與獨立的資料庫關聯起來?

如何將多子網域網站與獨立的資料庫關聯起來?

WBOY
WBOY轉載
2024-02-05 22:18:08457瀏覽

如何將多子網域網站與獨立的資料庫關聯起來?

問題內容

我使用 sso 開發具有獨立資料庫的多子網域網站,如下所示:

  • www.example.com(公司網站和商店)- www_db

  • blog.example.com - blog_db

  • #forum.example.com - forum_db

  • #account.example.com - 登入、註冊、account_db(使用者)

我有一個問題,在論壇上,用戶必須可以添加帖子,然後在呈現帖子列表時,我必須獲取每個帖子的用戶數據:用戶名、頭像等,但由於用戶和帖子是在不同的資料庫中,我該怎麼做?

我不明白它是如何發布的,我認為通過API 從帖子中通過user_ids 獲取用戶,但請求太多


##正確答案


好吧,讓我們一項一項地進行:

我假設這是一個關於身份驗證的問題,在這種情況下,您可以透過

MessageQueueAccountService 發出請求以取得該特定使用者的權限。如果您有大量流量,這可能會對網路造成沉重負擔 - 但這可以透過在 ForumService 中快取每個使用者及其權限來優化。

此外,您還可以實作一個網關 API,該 API 在首次請求時執行使用者的初始獲取,然後將使用者資料進一步傳播到底層服務。

與 auth 相同的情況也適用。您可以一一取得這些用戶,並將它們快取到您認為必要的時間。當然,您會暫時失去一些資料一致性,但您將獲得可用性並降低網路流量(

最終一致性)。您也可以使 AuthService 發出 UserChangedNotification 並將不一致情況減少到絕對最低限度。

https://obeycode.com/articles/7 /微服務簡單術語---簡介#

以上是如何將多子網域網站與獨立的資料庫關聯起來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除