DigiMQ Documents
What is DigiMQ?
DigiMQ is built to bring the Message Queue technology to our OutSystems application. A Message Queue, also called a message broker, is a queue of messages placed between two parts of the system in order for them to communicate with each other. Message Queue are often used in between microservices and for long running tasks
What is DigiMQ consist of?
A Message is the data transported between the sender “producer” and the receiver “Consumer” An example of a message could be one part of the system telling another part of the system to start processing a task. This task could be an image scaling request or logs that should be stored, A message could also contain information about a completed task like when the order has been handled or it could just be a plain message with information An Event to visualize split the message queue into different topics, each topic has its own publishers and subscribers A Producer “Publisher or Sender” is the service or app that is responsible for sending messages to its related topics “Events” A Consumer “Subscriber or Receiver “is the service that subscribes for specified topics “Listen for specific Event to be triggered” to consume its message for complete the processing of it
Why should you use DigiMQ ?
• This way of handling messages creates a system that is easy to maintain and scale.
• It allows for different parts of the application to evolve independently, and be maintained by separate developer teams.
• Exposing APIs to allow communication with any external system that was written in any different language. • Separates Producers and Consumers responsibilities, and that helps our system performance enhancement.
• provides sending messages in lazy-mood, meaning that one system puts a message onto a message queue and does not require an immediate response to continue processing
Email is probably the best example of asynchronous communication. When an email is sent the sender continues with other things without needing an immediate response from the receiver. This way of handling messages decouples the producer from the consumer
How DigiMQ works?
the basic architecture of a message queue is simple, producers create messages and deliver them to the message queue, consumers connect to the queue and subscribe messages from the queue, messages placed onto the queue are stored until the consumer acknowledge them, meaning that the consumer tells the message broker that the message has been received or handled
Following the next steps to create a message queue with DigiMQ;
b- Sending Messages to subscribed Consumers
a- Filter Messages by Event or Consumerb- Update Messages Status c- Reset or Change its Counter
Using DigiMQ APIs to allow dealing with external systems