AWS SQS
SleakOps integrates Amazon Simple Queue Service (SQS) into your application's architecture. Amazon SQS is a fully managed message queuing service that allows you to decouple application components, ensuring smooth and efficient message processing. By leveraging SQS, you can enhance the scalability and reliability of your applications, handling large volumes of messages asynchronously.
This section provides an overview of how to configure SQS within SleakOps and details the attributes needed for successful integration.
For further details on SQS and its benefits, you can refer to the Amazon SQS Developer Guide .
What is the difference between a Standard Queue and a FIFO Queue?
- A Standard Queue supports high throughput with at-least-once message delivery. Message ordering is not guaranteed but it's ideal for scenarios where message order isn't critical.
- A FIFO Queue ensures message ordering and exactly-once delivery. It's suitable for applications where message order is crucial.
What is Multi-AZ deployment and should I enable it?
Multi-AZ (Availability Zone) deployment ensures high availability and failover support by replicating your database in another availability zone. It’s recommended for production environments to prevent downtime. Keep in mind that it increases costs.
What is a Dead-Letter Queue (DLQ), and when should I use it?
A DLQ is a secondary queue where messages that can't be processed successfully after a certain number of attempts are sent. You should configure a DLQ to help with error handling and to prevent message loss. See AWS SQS DLQ .
What is Deduplication in a FIFO Queue?
In an SQS FIFO Queue, deduplication ensures that duplicate messages are automatically removed, preserving strict message ordering.
Set up your SQS
1. Add SQS as a Dependency
To integrate SQS with SleakOps:
- In the SleakOps console, go to the "Dependencies" section
- Choose "SQS" from the list of available dependency types. For more detail see Dependencies: Integrating Databases, Caching, and Messaging Services.
2. Set up your SQS database.
You will access the following form:
Here the parameters that SleakOps allows you to customize during the creation:
Attribute | Description |
---|---|
Domain Name | The unique identifier for your OpenSearch cluster. |
Engine Version | Specifies the version of OpenSearch that will be used. |
Nodes Per Availability Zone | The number of OpenSearch data nodes you want to run in each availability zone. |
EBS Storage Size Per Node | Defines the storage size in GiB for each node. The minimum is 10 GiB, and the maximum is 2048 GiB. Range: 10 to 2048 GiB |
Instance Type | Selects the instance type for the data nodes of OpenSearch. Example: r6g.large.search |
Number of Availability Zones | The number of OpenSearch data nodes you want to run in each availability zone. |
Dedicated Master Enabled | Enables dedicated master nodes, improving domain stability. Recommended for production environments. |
By activating the Dedicated Master Enabled feature, you need to complete also:
Attribute | Description |
---|---|
Dedicated Master Type | Specifies the instance type for the master nodes, used to manage the cluster. Example: r6g.large.search |
Dedicated Master Count | Number of dedicated master nodes. It is recommended to have 3 for production. |
3. Customize your variable names for your SQS.
As explained, when a dependency is created, SleakOps generates a vargroup to hold all the needed attributes. In this step you can change the name of the attributes in case it is needed. SleakOps completes the values automatically. After this step, your dependency is created.