關于 Redis 隊列消費進程的理解問題
這是文檔里的說明
提示
雖然消費者支持多服務器多進程,但是一個消息只會有一臺服務器的一個進程進行消費,
不會出現(xiàn)多臺服務器或多個進程同時消費一個消息的情況。
消費過的消息會自動從隊列刪除,無需手動刪除。
提示
消費進程可以同時消費多種不同的隊列,新增隊列不需要修改process.php中的配置,
新增隊列消費者時只需要在app/queue/redis下新增對應的Consumer類即可,
并用類屬性$queue指定要消費的隊列名
如果在 app/queue/redis
目錄下有8個隊列,假設每個隊列都是繁忙狀態(tài) ( 剛好在沒有隊列任務積壓臨界值 ),是不是可以理解為,process.php
設置里開設8個進程是最簡單粗暴的辦法。
按照文檔的上解釋 一個消息只會有一臺服務器的一個進程進行消費
,就算開了16個進程,實際上也就8個進程在處理