Php 为cronjobs使用单独的web服务器,还包括:来自两个不同服务器的MySQL并发连接

Php 为cronjobs使用单独的web服务器,还包括:来自两个不同服务器的MySQL并发连接,php,mysql,linux,Php,Mysql,Linux,我开发了一个web应用程序,它将真正受益于以预定方式运行某些php脚本的cronjobs 因为有些脚本应该每隔15秒运行一次,所以我希望有一个小服务器实例来执行这些cronjob任务 这是个好主意吗?MySQL能够处理来自两个不同服务器的并行连接吗?这是一个非常好的主意 无论连接是本地连接还是远程连接,数据库都被设计为同时处理大量连接。默认情况下,如果需要,您可以将其设置为更高的值,前提是服务器可以处理它 我总是在独立于web服务器的服务器上设置数据库,即运行PHP的面向公众的服务器。在我过去开

我开发了一个web应用程序,它将真正受益于以预定方式运行某些php脚本的cronjobs

因为有些脚本应该每隔15秒运行一次,所以我希望有一个小服务器实例来执行这些cronjob任务

这是个好主意吗?MySQL能够处理来自两个不同服务器的并行连接吗?

这是一个非常好的主意

无论连接是本地连接还是远程连接,数据库都被设计为同时处理大量连接。默认情况下,如果需要,您可以将其设置为更高的值,前提是服务器可以处理它

我总是在独立于web服务器的服务器上设置数据库,即运行PHP的面向公众的服务器。在我过去开发过的大型应用程序中,我们在负载均衡器后面有多个web服务器,这些服务器都连接到同一个数据库服务器,从来没有出现任何问题

使用专用于特定任务的独立服务器有很多好处,我可以花一整晚的时间来写这些事情,但这里有一些亮点:

单独的服务器允许您针对每台服务器需要执行的特定任务(即内存使用、磁盘i/O等)优化其资源。 安全,安全,安全! 如果您有cron执行敏感任务,例如删除帐户,那么您不希望它们生活在更可能受到危害的面向公众的服务器上。 您可以创建一个单独的特权用户,该用户仅允许从您的cron服务器连接,即cron需要删除和创建表,但您的web应用程序只需要CRUD特权 管理每项任务要容易得多 如果需要暂停所有cron作业,只需关闭服务器,而不必注释掉每个cron作业。
是的,分离cron作业是个好主意

只要安装php,就可以在小型服务器上运行这个cron。 Mysql可以处理来自不同主机的许多连接。 从命令行运行php脚本以加快执行速度。
MySQL可以处理并行连接,不管这些连接来自何处,但是如果并发写入操作完成,就会出现问题。并发写入在这里意味着什么?例如,当来自两个服务器的脚本想要更改相同的字段时?这是我的代码结构中没有的东西,我会有这样的东西:一个用户注册,他的电子邮件被写到一个表中。然后cronjob从表中读取邮件,尝试发送邮件,成功后将从表中删除此条目。只是一个建议。。为什么不在注册触发时发送电子邮件呢?我已经读到发送邮件可能有点棘手,因为有时需要比预期更长的时间,或者可能会失败。我不希望用户等待邮件发送。或者你能说这绝对没有问题吗?我正在使用Amazon SES发送电子邮件。感谢您提供这个非常复杂的答案。