Cua de missatges
En informàtica, les cues de missatges i les bústies de correu són components d'enginyeria de programari que s'utilitzen normalment per a la comunicació entre processos (IPC) o per a la comunicació entre fils dins del mateix procés. Utilitzen una cua per enviar missatges – el pas de control o de contingut. Els sistemes de comunicació de grup proporcionen tipus similars de funcionalitats.[1]
El paradigma de la cua de missatges és un germà del patró editor/subscriptor, i normalment és una part d'un sistema de programari intermedi orientat a missatges més gran. La majoria dels sistemes de missatgeria admeten tant els models d'editor/subscriptor com de cua de missatges a la seva API, per exemple Servei de missatges Java (JMS).[2]
Les cues de missatges implementen un patró de comunicació asíncrona entre dos o més processos/subprocesos pel qual la part emissora i la receptora no necessiten interactuar amb la cua de missatges al mateix temps. Els missatges col·locats a la cua s'emmagatzemen fins que el destinatari els recupera. Les cues de missatges tenen límits implícits o explícits sobre la mida de les dades que es poden transmetre en un sol missatge i el nombre de missatges que poden romandre pendents a la cua.[3]
En una implementació típica de la cua de missatges, un administrador del sistema instal·la i configura el programari de cua de missatges (un gestor de cues o intermediari) i defineix una cua de missatges anomenada. O es registren amb un servei de cua de missatges.[4]
Han sorgit tres estàndards que s'utilitzen en implementacions de cues de missatges de codi obert.
- Protocol avançat de cua de missatges (AMQP): protocol de cua de missatges ric en funcions, aprovat com a ISO/IEC 19464 des de l'abril de 2014.
- Streaming Text Oriented Messaging Protocol (STOMP): protocol de missatges senzill i orientat a text.
- MQTT (abans MQ Telemetry Transport): protocol lleuger de cua de missatges especialment per a dispositius incrustats.
Aquests protocols es troben en diferents etapes d'estandardització i adopció. Els dos primers funcionen al mateix nivell que HTTP, MQTT al nivell de TCP/IP.
Referències
[modifica]- ↑ «What is a Message Queue?» (en anglès). https://aws.amazon.com. [Consulta: 18 febrer 2023].
- ↑ «Message Queues: An Introduction | IBM» (en anglès). https://www.ibm.com. [Consulta: 18 febrer 2023].
- ↑ Dive Into Queue Module In Python. Overview of POSIX message queues
- ↑ «Message Queuing (MSMQ)» (en anglès). https://learn.microsoft.com. [Consulta: 18 febrer 2023].