簡體   English   中英

GoLang 多租戶應用程序數據庫連接

[英]GoLang multi-tenant application database connections

我是golang的新手,目前正在嘗試構建多租戶應用程序。 在我的應用程序中,每個租戶都有自己的數據庫。 我的要求是我需要根據租戶請求切換數據庫連接,這如何在golang中完成。 對於這個項目,我更喜歡postgresql

我可以有一個 map 的數據庫連接到租戶,但不確定這是否是一個好習慣。

非常感謝您的幫助和建議

我已經在Rails中處理過類似的要求。 可能您也可以在go-lang中使用相同的方法。

我將有一個主數據庫,其中僅包含租戶信息。 像租戶名稱和db_name。

而且我有一個機架中間件,它將根據子域切換數據庫(我正在使用子域來標識租戶)。

例如,您的主數據庫可以有表tenants ,示例記錄可能看起來像這樣: { id: 1, name: 'XYZ', db_name: 'xyz' }

當您的應用程序收到帶有子域xyz的請求時,您的中間件應切換到xyz DB。

這是一個更好的解決方案,可以創建一個模式而不是整個數據庫,並在每個請求上更改識別租戶的請求的模式。其他解決方案是創建一個數據庫,並在中間件上的租戶識別后重新打開每個請求的連接

暫無
暫無

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

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