繁体   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