Read Aloud the Text Content
This audio was created by Woord's Text to Speech service by content creators from all around the world.
Text Content or SSML code:
<speak> <p> Hi everyone. <break time="400ms"/> Today, I’m going to walk through the latency issue we were seeing with the <emphasis level="moderate">DocLibraryAdd RabbitMQ queue</emphasis>. </p> <p> This problem had been around for quite some time, and clients consistently reported that after completing a task, the document didn’t appear right away. <break time="300ms"/> In some cases, the delay was <emphasis level="moderate">one hour… two hours… even three-plus hours</emphasis>. </p> <p> <emphasis level="strong">The good news is: we’ve fixed it.</emphasis> <break time="400ms"/> We performed a spike to investigate the root cause and explore multiple solutions. We identified the main issue, evaluated <emphasis level="moderate">three different approaches</emphasis>, and implemented the one that provided the best results. <break time="300ms"/> I’ll share the full documentation in the chat. </p> <p> Now, if you look at the queue, you’ll see that the <emphasis level="strong">Ready message count is zero.</emphasis> <break time="400ms"/> Earlier, this number used to be <emphasis level="moderate">five thousand… ten thousand… and even forty thousand messages</emphasis> — basically a Black Friday checkout line. </p> <p> Since RabbitMQ processes messages in <emphasis level="moderate">FIFO order</emphasis>, any Doc Ack task completed by a user would be added to the <emphasis level="moderate">very end</emphasis> of that long queue. <break time="300ms"/> That explains the significant delays everyone was experiencing. </p> <p> <emphasis level="strong">What we did</emphasis> <break time="400ms"/> We increased the number of consumers for this queue from <emphasis level="moderate">four to twelve</emphasis>. <break time="300ms"/> Based on the queue metrics and current traffic patterns, we calculated that twelve consumers would allow us to process messages in near real-time. <break time="300ms"/> And that’s exactly what’s happening now — no backlog, and no hours-long wait. </p> <p> <emphasis level="strong">Demo</emphasis> <break time="300ms"/> Now I’ll complete a Doc Ack task, so you can see that the document appears <emphasis level="moderate">almost immediately</emphasis> after the task is completed. </p> </speak>