GoLang多租户应用程序数据库连接

时间:2014-12-12 15:11:01

标签: database postgresql go multi-tenant

我是 golang 的新手,目前正在尝试构建一个多租户应用程序。在我的应用程序中,每个租户都有自己的数据库。我的要求是我需要为每个租户请求切换数据库连接,如何在 golang 中完成。我更喜欢这个项目的 postgresql

我可以拥有一个与租户建立数据库连接的地图,但不确定这是不是一个好习惯。

非常感谢您的帮助和建议

1 个答案:

答案 0 :(得分:0)

我已经在Rails中处理过类似的要求。也许您也可以在go-lang中使用相同的方法。

我将有一个主数据库,其中仅包含租户信息。像租户名称和db_name。

我有一个机架中间件,它将根据子域切换数据库(我正在使用子域来标识租户)。

例如,您的主数据库可以具有表tenants,并且示例记录可能看起来像这样: { id: 1, name: 'XYZ', db_name: 'xyz' }

并且当您的应用程序收到带有子域xyz的请求时,您的中间件应切换到xyz DB。