如何为每个用户创建Node.js不同的mysql连接

时间:2019-06-25 10:03:37

标签: mysql node.js saas

您好,我想创建一个SaaS(软件即服务)项目,因此在一个荒谬的单个数据库上管理所有用户组织,所以我想为每个用户创建单独的数据库,这很容易管理。因此,要使用此api用户访问那里的关联数据库创建Node js API。 因此,如果您建议mysql更改用户运行时,则如何处理每位用户的mysql连接,如何更改全局连接,如何满足下图所示的要求?

this image shows what i want

1 个答案:

答案 0 :(得分:0)

与nodejs问题相比,我更认为这是基础架构问题。顾名思义,Nodejs尤其对于大型saas风格的应用程序而言,单节点应用程序是一个单线程节点,可以成为更大节点集群的一部分。

因此,基于此。我建议不要将一个节点连接到多个不同的数据库,而要连接到每个数据库运行一个节点应用程序实例。

有很多方法可以解决这个问题。但是,我认为最简单的方法是对应用程序进行容器化,并使用环境变量来设置数据库连接。拥有容器后,您需要一种方法来设置变量并运行不同的容器。最后,您将需要路由到正确的容器。

所以:

  1. Containerize a node application with Docker
  2. Deploy with Kubernetes
  3. Routing to correct container

通过这种方法,您可以为每个客户端增加一个或多个容器,并根据它们使用的资源量来扩展(如果正确实施)容器。

希望这有助于您入门。很可能需要学习很多新信息。