現在,我們有一臺帶cronjob選項卡的單個服務器,每天發送電子郵件。我們想擴展那臺服務器。該應用程序是部署在亞馬遜雲中的centos服務器上的標準zend框架應用程序。通過多臺服務器擴展cronjob
我們已經負責負載平衡,內容管理和管理部署。然而,cronjob對我們來說仍然是一個問題,因爲我們需要授予某些工作只執行一次。
例如,每天的電子郵件cronjob只能由一臺服務器執行一次。我正在尋找最好的方法,只有一臺服務器只會執行一次。
我在想2種解決方案,但我想知道是否有其他人有同樣的問題。
- 使其中一臺服務器「主」,誰只發出每日電子郵件。這將是一個問題,如果服務器故障,並且我們通常不想擁有「特殊」服務器。這也意味着我們需要跟蹤哪個服務器是主服務器。
- 有一個要執行的計劃任務隊列。每個服務器打開該隊列並查看需要執行哪些任務。第一個「抓住」任務的服務器將執行任務並將其標記爲完成。我在查看亞馬遜簡單排隊服務作爲隊列的解決方案。
這兩種解決方案都有優點和缺點,我想知道是否有人想到可能幫助我們的其他人。
這可能會更好地ServerFault服務? –