1. 程式人生 > >MQ訊息佇列系列(2)什麼時候使用MQ

MQ訊息佇列系列(2)什麼時候使用MQ

非同步架構的系統允許通過代理器自己配置更多的客戶端,記憶體等(即vertical scalability)來擴大系統,而不是增加更多的代理器(即horizontal scalability)。考慮如亞馬遜這樣繁忙的電子商務系統。當用戶購買物品,事實上系統需要很多步驟去處理,包括下單,建立發票,付款,執行訂單,運輸等。但是使用者下單後,會立即返回“謝謝你下單”的介面。不只是沒有延遲,而且使用者還會受到一封郵件表明訂單已經收到。在亞馬遜下單的例子就是一個多步處理的例子。每一步都由單獨的服務去處理。當用戶下單時,有一個同步的提交表單動作,但整個處理流程並不通過瀏覽器同步處理。相反地,訂單馬上被接受和反饋。而剩下的步驟就通過非同步處理。如果在處理過程中出錯,使用者會通過郵件收到通知。這樣的非同步處理能提供高負載和高可用性。