1. 程式人生 > >高併發的核心技術

高併發的核心技術

  • 什麼是MQ
        跨程序的訊息佇列,主要角色包括生產者與消費者。
        生產者只負責生產資訊,無法感知消費者是誰,訊息怎麼處理,處理結果是什麼。
        消費者負責接收及處理訊息,無法感知生產者是誰,怎麼產生的。

  • MQ能做什麼?
        MQ 特性一般有非同步,吞吐量大 ,延時低;
        適合做:

        投遞非同步通知。

  1.  限流,削峰谷。
  2. 可靠事件,處理資料一致性。
  3.  利用一些特性,可以做定時任務。
  4. 等….
    *由於MQ是非同步處理訊息的,所以MQ不適合做同步處理操作,如果需要及時的返回處理結果請不要用MQ;
  • MQ 個系統帶來了什麼?
        生產者:訊息傳送怎麼保證可靠性,怎麼保證不重複!

        消費者:怎麼保證冪等性,接收到重複訊息怎麼處理!

        還有會帶來的處理延時等問題!

        優點: 解耦,利用MQ我們可以很好的給我們系統解耦,特別是分散式/微服系統!

        缺點:增加了系統的複雜性,除了程式碼元件接入以外還需要考慮,高可用,叢集,訊息的可靠性等問題!

        原來的同步操作,可以用非同步處理,也可以帶來更快的響應速度;