メッセージキューのエクスペリエンスを深く理解する

1 単純な MQ を実装する

シンプルなメッセージ キュー (MQ) の実装は、信頼性、スループット、遅延などの複数の側面を考慮する必要があるため、困難な作業です。ただし、MQ 実装の非常に基本的な例を示すことはできます。

ここでは、Python を使用して単純な MQ を作成します。

  1. メッセージキュー:
import queue

class SimpleMQ:
    def __init__(self):
        self.queue = queue.Queue()

    def send(self, message):
        self.queue.put(message)

    def receive(self):
        if not self.queue.empty():
            return self.queue.get()
        return None
  1. プロデューサー:
import time

def producer(mq):
    count = 0
    while count < 10:
        mq.send(f"Message {
      
      count}")
        print(f"Produced: Message {
      
      count}")
        count += 1
        time.sleep(1)
  1. 消費者:
import time

def consumer(mq):
    while True:
        msg = mq.receive()
        if msg:
            print(f"Consumed: {
      
      msg}")
        time.sleep(2)
  1. メインプログラム
import threading

if __name__ == "__main__":
    mq = SimpleMQ()
    
    producer_thread = threading.Thread(target=producer, args=(mq,))
    consumer_thread = threading.Thread(target=consumer, args=(mq,))

    producer_thread.start()
    consumer_thread.start()

    producer_thread.join()
    consumer_thread.join()

これは、デモのみを目的とした非常に基本的な MQ 実装です。実際のアプリケーションでは、メッセージの永続化、メッセージの確認、メッセージの再試行、分散展開、マルチコンシューマの同時処理など、さまざまな高度な機能も考慮する必要があります。

おすすめ

転載: blog.csdn.net/yxg520s/article/details/132472846