Home avatar

Miles Chou

天涯何處無幹話,何必要講實務話

Laravel Queue + RabbitMQ 實作經驗

近一兩年使用 Laravel Queue 搭配 RabbitMQ 來做非同步或排程任務處理的解決方案,但過程中遇到各種奇怪的問題,小則是單純的連線錯誤,重連就能解決,大則是會一直無法正常消化 Queue,造成整個 Queue 塞車並影響整個服務運作。

最近認真的去研究 RabbitMQ 連線的機制,並尋找問題可能的解法,在最近一次解法實驗上線時,發現了新的問題,至少總算是有初步了解問題核心了,這篇文章是來記錄這些經驗。

PHP 的 in_array 效能測試

這是很久以前發現,但還沒有很認真實測過的問題:當在一個 array 裡尋找符合的元素時,下面這些方法的效能到底誰快誰慢?

  • in_array()
  • array_intersect()
  • array_flip() + array_key_exists()