Php 在部署时重新加载多个应用程序服务器

Php 在部署时重新加载多个应用程序服务器,php,web-applications,deployment,cron,reload,Php,Web Applications,Deployment,Cron,Reload,我有一个设置,其中有几个应用程序服务器运行php fpm服务,它们都共享应用程序代码和其他资产的GlusterFS装载。在当前部署过程中,文件直接在文件服务器上更新,并且多次更新以反映更改,因此必须重新加载应用程序服务。要实现这一点,部署脚本需要进入每台服务器并发出重新加载命令,但使用自动缩放时,服务器的数量并非每时每刻都相同 总的来说,我正在草拟解决此问题的两个备选方案: 首先,作为一个概念证明,这是一个cron作业,它将在应用程序机器上每X分钟运行一次,并查找一个文件,该文件应包含唯一的信

我有一个设置,其中有几个应用程序服务器运行
php fpm
服务,它们都共享应用程序代码和其他资产的
GlusterFS
装载。在当前部署过程中,文件直接在文件服务器上更新,并且多次更新以反映更改,因此必须重新加载应用程序服务。要实现这一点,部署脚本需要进入每台服务器并发出重新加载命令,但使用自动缩放时,服务器的数量并非每时每刻都相同

总的来说,我正在草拟解决此问题的两个备选方案:

  • 首先,作为一个概念证明,这是一个cron作业,它将在应用程序机器上每X分钟运行一次,并查找一个文件,该文件应包含唯一的信息,如主机名或IP地址。如果匹配,它将不采取行动,但如果不匹配,它将重新加载并在文件中写入自己。在部署过程中,脚本将清除该文件,并且在下一次cron运行中应重新加载所有服务器

  • 其次,使用更复杂的方法,如消息队列或通知服务,其中运行的应用程序计算机将在启动时订阅并等待重新加载命令。然后,部署脚本将发布一个通知,让所有服务器都知道时间到了。然后,前面方法中类似的cron作业会注意到这一点,并重新加载应用服务器

这些有意义吗?在部署过程中,是否有更简单或更标准的方法来触发在给定时刻运行的应用程序服务器的广播,而不必对每个应用程序服务器进行ssh并发出reload命令?您还可以提供其他建议或其他建议吗

谢谢