Microservices architecture has gained rapid popularity over the last few years. Asynchronous communication between microservices is the backbone of this architecture. By using a queue between different parts of your software, you can decouple complex dependencies. The format of the message in the queue becomes your data contract and any other service that knows how to read that message format can process the transaction. The AWS platform offers a rich set of services for asynchronous communication.

Amazon Simple Queue Service (SQS) is a fully managed message queuing service. It enables you to decouple and scale microservices, distributed systems, and serverless applications. Using SQS, you can send, store, and receive messages between software components without losing messages or requiring other services to be available.

This whitepaper discusses our learnings and recommendations about Amazon Simple Queue Service (SQS), which are used in Persistent’s customer solutions. It also covers seven reference architectural patterns that use SQS and other AWS services, and implement some of the best practices regarding using SQS. We also provide sample code as reference code for real-life projects.

Read this whitepaper to learn architectural patterns, implementation tips, and best practices on AWS SQS.