Laravel Queue + RabbitMQ 實作經驗
近一兩年使用 Laravel Queue 搭配 RabbitMQ 來做非同步或排程任務處理的解決方案,但過程中遇到各種奇怪的問題,小則是單純的連線錯誤,重連就能解決,大則是會一直無法正常消化 Queue,造成整個 Queue 塞車並影響整個服務運作。
最近認真的去研究 RabbitMQ 連線的機制,並尋找問題可能的解法,在最近一次解法實驗上線時,發現了新的問題,至少總算是有初步了解問題核心了,這篇文章是來記錄這些經驗。
近一兩年使用 Laravel Queue 搭配 RabbitMQ 來做非同步或排程任務處理的解決方案,但過程中遇到各種奇怪的問題,小則是單純的連線錯誤,重連就能解決,大則是會一直無法正常消化 Queue,造成整個 Queue 塞車並影響整個服務運作。
最近認真的去研究 RabbitMQ 連線的機制,並尋找問題可能的解法,在最近一次解法實驗上線時,發現了新的問題,至少總算是有初步了解問題核心了,這篇文章是來記錄這些經驗。
在使用 Laravel 的時候,可能會把 Queue 跟 Event 搞混,這篇文章將會比較兩種功能,並說明適用的情境。
這是很久以前發現,但還沒有很認真實測過的問題:當在一個 array 裡尋找符合的元素時,下面這些方法的效能到底誰快誰慢?
in_array()
array_intersect()
array_flip()
+ array_key_exists()
測試是最重要,但同時也是最花時間的任務,這篇文章將會說明程式測試可以改善效能的方法。
使用 Laravel Octane 已經快兩年了,最近遇到了一個依賴注入相關的問題。以下將會詳細說明問題的核心原因,與解決的概念和方法。
前天(2023/8/18)完成了 Laravel Pennant 的工作坊,今天來分享一下這個套件的介紹。
TLDR
當找不到目標資源或是不想讓別人知道資源存在的時候,可以回 404。其他看情境回應,有可能是 200,也有可能是其他的狀態碼,例如:曾經存在,可以回 410。
204 沒規定不行,但以 GET 的語意來說是不適合的。
RESTful 亦同。
因緣巧合,剛好有看到 Rate Limit 討論,然後看到 header 定義覺得哪裡怪怪的,然後就認真查了一下,意外發現 RFC 有定義相關的 header。