都在說消息隊列,到底消息隊列能夠應用到什麼場景呢,都何時須要用消息隊列?php
①數據冗餘的時候mysql
②解除代碼耦合度redis
③秒殺和搶購,下降流量sql
④通訊shell
⑤順序處理數據庫
⑥擴展併發
均可以用什麼作消息隊列?php-fpm
①mysql:學習
優勢:準確性高,容易上手。大數據
缺點:速度慢。
注:不建議用,原本數據庫的鏈接就有限,硬盤的讀寫太耗費時間。
②redis
優勢:速度快
缺點:處理消息字節數小(太大的消息處理慢)
注:適合作普通的消息隊列,特別大數據量的不適合。
③消息系統
優勢:可靠,更強。
缺點:學習成本高。
注:適合作大型的消息隊列系統,併發大,用戶量大。
無限循環方式讀取:故障處理困難,容易實現。
定時任務:壓力均分,處理量須要控制好。
守護進程:相似於php-fpm和php-cg,須要shell基礎。