EXCELLENT, explanation. I now feel like I understand asynchronous message queues and I'm not a developer. TY for the graphics, the thoughtful presentation. Very appreciated!
What if MQ is full? or it went down for a period of time? Maintaining a Redundant MQ is costly and not effective solution i guess. Any other alternative?
When does the queue service remove the data from the queue and send it to the microservice? eg, how does the queue service know that there are items waiting in the queue?
Let's take the protocol AMQP 0-9-1 as an example (used by RabbitMQ). Here we use an acknowledgement/confirm mechanism that the message has been received by the consumer, and/or the task has been completed. Automatic acknowledgements are usually called "fire-and-forget" and tells the queue to discard the message when it's sent successfully. Manual acknowledgements on the other hand requires some logic to be implemented on the consumer side (microservice), that sends a command back to the queue once it's been successfully processed (ack) or failed to complete (nack). The latter allows the queue to re-add the message into the queue if it never receives an ack from the consumer, or if it receives a nack. Which method to use all comes down to your specific use case for the specific queue, and the importance of the data that is sent. Every microservice establishes a connection + channel to the queue that is long lived. So a message is delivered automatically to any microservice that is connected to the queue and ready to receive messages. If there are no consumer available, the message is stored safely in the queue until it can be delivered.
I have a question. What happens if the consumer consumes the message and for some reason crashes. How do you make sure that the message in the queue (before the consumer failed) is serviced? Do you maintain another queue? or something like a log that captures the state? pass on to a different consumer (assuming ur system is scaled)?
Does this get used on UA-cam Live Stream Chat? I have a background running system having a problem with MFResident.exe Is this affiliated with Message Queuing Service?
EXCELLENT, explanation. I now feel like I understand asynchronous message queues and I'm not a developer. TY for the graphics, the thoughtful presentation. Very appreciated!
I LOVE YOU! GOD BLESS YOU! Always trying to understand this and now it's been very simple with the queue message example with Dinner system.
Great job modeling the queue and their examples :)
great job. I look forward to watching more videos from you on MQ.
What if MQ is full? or it went down for a period of time? Maintaining a Redundant MQ is costly and not effective solution i guess. Any other alternative?
nice and fast way of explaining the concept and how it's useful
Thank you!
really nice explanation
When does the queue service remove the data from the queue and send it to the microservice? eg, how does the queue service know that there are items waiting in the queue?
Let's take the protocol AMQP 0-9-1 as an example (used by RabbitMQ). Here we use an acknowledgement/confirm mechanism that the message has been received by the consumer, and/or the task has been completed. Automatic acknowledgements are usually called "fire-and-forget" and tells the queue to discard the message when it's sent successfully. Manual acknowledgements on the other hand requires some logic to be implemented on the consumer side (microservice), that sends a command back to the queue once it's been successfully processed (ack) or failed to complete (nack). The latter allows the queue to re-add the message into the queue if it never receives an ack from the consumer, or if it receives a nack. Which method to use all comes down to your specific use case for the specific queue, and the importance of the data that is sent.
Every microservice establishes a connection + channel to the queue that is long lived. So a message is delivered automatically to any microservice that is connected to the queue and ready to receive messages. If there are no consumer available, the message is stored safely in the queue until it can be delivered.
@@CloudAMQP Thank you very much. I understand now
very well explained with a beautiful presentation 👍
aren't message queue and message broker different?
I have a question. What happens if the consumer consumes the message and for some reason crashes. How do you make sure that the message in the queue (before the consumer failed) is serviced? Do you maintain another queue? or something like a log that captures the state? pass on to a different consumer (assuming ur system is scaled)?
You can use acknowledgements in RabbitMQ, where the consumer needs to ack the message before it is removed from the queue.
Very well explained. Please add more videos. thanks
Very nice, simple visual of async vs sync
Thank you for your work.
Maybe you work with celery? ) I'm interested in how to work in the situation with 'dead letter queue' in Celery.
Great job
Thank you
Thanks!
no comments?
Does this get used on UA-cam Live Stream Chat? I have a background running system having a problem with MFResident.exe Is this affiliated with Message Queuing Service?