我正在考慮在我的新應用程序中使用RabbitMQ進行一些異步處理。RabbitMQ PHP消費者數據庫連接
一個我所面臨的挑戰是如何最好地處理數據庫連接。我將使用雄辯和實際PDO。
我在這裏找到的一種資源https://www.teqneers.de/2013/10/simple-spawn-rabbitmq-consumers-with-php/建議使用proc_open
產卵一個新進程,但我不太喜歡這種方法,並想知道是否有更好的方法。
我也試圖尋找最佳做法,用於處理在PHP後臺數據庫連接,但沒有發現任何東西。
我曾想過有些事情。
創建一個新的連接,並關閉它每封郵件
- 缺點:應用程序即將交付消息羣發郵件和消費者會很多,並且經常運行。可能是資源沉重。
- 優點:然而,傳統的PHP腳本以類似的方式工作,所以這可能不是一個壞主意
保持整個消費的生命週期的連接,並經常殺死他們
- 缺點:顯然是浪費。需要不斷檢查連接是否仍然有效。
在命令行上運行一個工人
- 缺點:許多移動部件。需要解析消息ACKS的響應,因此消費者需要等待工作人員結束。意味着創建和關閉每個消息的連接,不如堅持選項1,因爲它具有較少的部分。
我也想過持續連接的,但閱讀更多關於他們後,他們似乎都沒有什麼,我以爲他們是。另外,很多帖子都說這是個壞主意。
我理解PHP可能不是這樣做的最好的工作,但我快速原型和PHP是我最舒服的此任務的語言。
我真的很感激,如果我能得到如何處理這一一些建議。
謝謝。
我目前正在努力解決同樣的問題。感謝您分享上述鏈接,似乎是完成此任務的一個不錯的方式。在此期間你有沒有找到更好的建議?還是你堅持這種做法? @frostymarvelous – Tobias
我堅持這一點。我現在主要做點網絡,所以我沒有必要重新訪問。 – frostymarvelous