Pitfalls to avoid designing SQS Consumers – threads, locks and self induced message duplication and processing delays

Background Some of my previous blog posts on SQS like Long Polling vs Short Polling and Delivery Delays covered the basics of leveraging Amazon SQS for messaging, supported polling models, message life cycle and much more. As can be seen from those posts, building simple SQS consumers, consuming and processing messages from Amazon SQS queues…

Lifecycle of a Message in Amazon SQS – A Detailed Coverage

In case you haven’t been following this blog series on Amazon SQS, we have already looked at the mechanics of consuming messages from Amazon SQS through one of my earlier blog post, and have looked at the concepts and implementation details to implement Delivery Delays with Amazon SQS through another earlier blog post. As you…

Delivery Delays with Amazon SQS – Concepts, Use cases, Mechanisms

One of my earlier blogs, Amazon SQS – Long Polling versus Short Polling, introduced Amazon SQS as a cloud based, highly available, reliable, scalable, distributed, fully managed messaging service and provided a detailed explanation of the all important topic of strategies around writing efficient message consumers for Amazon SQS. Let us try and understand another…

Amazon SQS – Long Polling versus Short Polling

If you have worked with Amazon Web Services, I am sure you would have heard of Amazon SQS, a reliable, highly scalable, distributed, fully managed message queuing service on cloud. This blog post intends to explain what is involved while consuming messages from Amazon SQS, its nuances and best practices. As you may know, Amazon…

Designing multitenant processing systems – Threads vs ThreadPools

Introduction It has happened to me so many times that I see Java code, written fairly recently, may be even a year or two years ago, and still uses the Java Thread class to build sufficiently complex multi-threaded systems, and obviously in a lot of such instances, it makes me think otherwise. One such interesting…