Comprensión profunda de la experiencia de la cola de mensajes

1 Implementar un mq simple

Implementar una cola de mensajes simple (MQ) es una tarea desafiante ya que es necesario considerar múltiples aspectos, como la confiabilidad, el rendimiento, la latencia, etc. Pero puedo darles un ejemplo muy básico de implementación de MQ.

Aquí usaremos Python para crear un MQ simple.

  1. cola de mensajes :
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. productor :
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. consumidor :
import time

def consumer(mq):
    while True:
        msg = mq.receive()
        if msg:
            print(f"Consumed: {
      
      msg}")
        time.sleep(2)
  1. Programa principal :
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()

Esta es solo una implementación de MQ muy básica con fines de demostración únicamente. En aplicaciones prácticas, también es necesario considerar una variedad de funciones avanzadas, como persistencia de mensajes, confirmación de mensajes, reintento de mensajes, implementación distribuida, procesamiento concurrente de múltiples consumidores, etc.

Acho que você gosta

Origin blog.csdn.net/yxg520s/article/details/132472846
Recomendado
Clasificación