logo
menu
post-banner

2024.3.26

SHARE ON |

fb
fb
fb

Message Queue

What is Message Queue ?

Message Queue 本質就是一個 Queue 而 Queue 的內容存放的是 message 主要用途為不同 Pocess, Thread 或 Service 之間的溝通

Why Message Queue ?

Message Queue 有以下優點:

  1. Better Performance:
    • MQ 可以很容易的達到各個 Service 之間的非同步溝通( HTTP 為同步溝通 )
    • 在一些 Latency 不重要的情況下,client 只需要跟等待 web server 將資料丟進 Queue 的時間,不需要等待整個服務結束
  2. Decoupling
    • 可以很容易的去除各個 service 之間的相依性
  3. Flexiability of scaling
    • 由於 service 之間的相依性變低,因此可以很容易的依照需求縮減
  4. Reliablity
    • 當 comsumer 突然故障,MQ 可以將資料暫存起來,等到 consumer 重新上現在傳送過去。

💡 官方對 Loki 的介紹: Like Prometheus, but for logs.”

Push or Pull Delivery

  • Comsumer 要知道是否有任務要做主要有兩種方式
    • Push: 當 MQ 收到來自 producer 的資料後,主動用類似 onMessage 接口通知 comsumer
    • Pull: Consumer 輪詢調用 MQ 的接口來拿新資料

AINIMAL人工社群智慧養成

找到與你最契合的人