/pullMQ

Sistema de colas de mensajes con un diseño básico

Primary LanguageCOtherNOASSERTION

pullMQ

Sistema de colas de mensajes con un diseño básico.

Objetivo de la práctica

El objetivo principal es que el alumno pueda ver de una forma aplicada qué infraestructura de comunicación requiere la construcción de un sistema de colas de mensajes con un diseño básico (nota: puede ser conveniente que repase el material teórico de la asignatura para refrescar la terminología y los conceptos asociados a este esquema de interacción). Para ello, se plantea desarrollar un esquema de este tipo, al que denominaremos pullMQ, con las siguientes características específicas:

  • Se utilizará un esquema con un único proceso que actúa como broker proporcionando el desacoplamiento espacial y temporal ofrecido por los sistemas de colas de mensajes. El broker se encargará de gestionar las colas y almacenar los mensajes dirigidos a las mismas. Gracias al desacoplamiento espacial, los procesos que usan este sistema no se necesitan conocer ni interaccionar entre sí, sino que se comunicarán únicamente con el broker haciendo referencia al nombre de la cola de mensajes correspondiente. Asimismo, el almacenamiento de los mensajes de las colas por parte del broker proporcionará el desacoplamiento temporal requerido.
  • Se va a seguir un esquema de tipo pull, en el que un proceso que quiere recibir mensajes dirigidos a una cola debe pedirlos explícitamente, en lugar de ser notificado de la existencia de los mismos por parte del broker.
  • El broker gestionará los mensajes que se envían a las colas sin realizar ninguna manipulación sobre el contenido de los mismos. Las aplicaciones que usen este sistema deberían definir el formato de los mensajes enviados según su conveniencia.
  • El diseño del sistema no debe establecer ninguna limitación en el tamaño de los mensajes ni en la longitud de los nombres de las colas, ni tampoco en el número de colas que puede existir en el sistema.

Como parte del desarrollo del proyecto, el alumno tendrá que enfrentarse al diseño del protocolo de comunicación del sistema, disponiendo de total libertad para definir todos los aspectos requeridos por el mismo: qué intercambio de mensajes se lleva a cabo en cada operación, el formato de esos mensajes, si se usan conexiones persistentes entre los procesos y el broker, etcétera.

En cuanto a las tecnologías usadas en la práctica, se programará en el lenguaje C utilizando sockets de tipo stream y se supondrá un entorno de máquinas heterogéneas.

Para más información consultar el enunciado de la práctica.

Ejecución

Mediante la ejecución del archivo test.sh se podrá probar el funcionamiento de las colas de mensajes.

Autor

Víctor Nieves Sánchez

Licencia

Licencia.