跨服务器MySQL连接和请求


Cross server MySQL connection and requests

我将使用Nodejs来处理一些CPU密集的循环操作,向注册用户发送电子邮件,因为PHP在运行和冻结网站期间使用了太多。

一件事是Nodejs将在不同的服务器上,并使用MySQL中的外部连接进行请求。

我听说外部数据库连接不利于性能。

这是真的吗?这样做有什么利弊吗?

请记住,在Node中运行CPU密集型操作时,整个应用程序在单个线程中运行时会阻塞。如果要在Node中运行CPU密集型操作,请确保将其派生到一个子进程中,该子进程的唯一任务是运行计算,然后返回到主应用程序。这将确保您的Node应用程序能够在处理数据时继续响应收入请求。

现在,谈谈你的问题。将数据库放在不同的服务器上是非常常见的,通常是一种很好的做法。如果数据库完全位于不同的数据中心,则可能会遇到性能问题。数据库服务器离应用程序服务器越远(物理上),每个请求的延迟就越多。

如果这些请求占用了大量的CPU,出于以下几个原因,您应该考虑使用排队机制。第一,它确保即使在应用程序崩溃的情况下,也不会丢失正在处理的请求。第二,您可以监视队列,并在操作堆积到单个应用程序无法在另一个应用程序到来之前完成处理的情况下,扩展处理队列的工作人员数量。