美文网首页
AWS SQS & MQ

AWS SQS & MQ

作者: Lyudmilalala | 来源:发表于2021-09-25 10:08 被阅读0次

Amazon SQS

Amazon SQS offers two queue types for different application requirements:

SQS can be used to:

  • Decouple live user requests from intensive background work
  • Allocate tasks to multiple worker nodes
  • Batch messages for future processing

Message Body max = 256KB

Allow for encryption of queues and encryption and decryption of messages

SQS only support HTTP/HTTPS protocol

Long Polling - When requests are sending to a queue to retrieve messages, doesn't return a response until a message arrives in the message queue, or the long poll times out. It reduce extraneous polling to minimize cost while receiving new messages as quickly as possible. It will wait for the WaitTimeSeconds
Long polling expect to get as many message back as possible.

Short polling - When requests are sending to a queue to retrieve messages, returns immediately, even if the message queue being polled is empty,
When queue is short, short polling is more possibly to get empty result than long polling.

Dead Letter Queues (DLQ) - Handle messages that have not been successfully processed by a consumer with Dead Letter Queues. When the maximum receive count is exceeded for a message it will be moved to the DLQ associated with the original queue. DLQs must be of the same type as the source queue (standard or FIFO).

Immediately after a message is received, it remains in the queue, because there's no guarantee that the consumer actually receives the message. To prevent other consumers from processing the message again, Amazon SQS sets a visibility timeout, a period of time during which Amazon SQS prevents other consumers from receiving and processing the message. The default visibility timeout for a message is 30 seconds.

""MaxNumberOfMessages"" - The maximum number of messages to return. Default to 1.

Standard Queue

Unlimited Throughput: Standard queues support a nearly unlimited number of transactions per second (TPS) per API action.
At-Least-Once Delivery: A message is delivered at least once, but occasionally more than one copy of a message is delivered.
Best-Effort Ordering: Occasionally, messages might be delivered in an order different from which they were sent.

You can use standard queue in scenarios that:handling a message that arrive more than once or out of order is acceptable

FIFO Queue

High Throughput: By default, FIFO queues support up to 300 messages per second. When you batch 10 messages per operation (maximum), FIFO queues can support up to 3,000 messages per second.
Exactly-Once Processing: A message is delivered once and remains available until a consumer processes and deletes it.
First-In-First-Out Delivery: The order in which messages are sent and received is strictly preserved.

You can use FIFO queue in scenarios that:

  • The order of operations and events is critical
  • Duplicated operations are not acceptable

Lifecycle

Consumer need to handle and delete message in the visibility timeout
DeleteMessage needs parameters QueueUrl, ReceiptHandle

Amazon MQ

A managed message broker service for Apache MQ.
Support IMS, NMS, AMQP, STOMP, MQTT, and Websocket, suitable for IoT.
Hybrid distribution of MQ brokers on both AWS Cloud and on-premise.

相关文章

网友评论

      本文标题:AWS SQS & MQ

      本文链接:https://www.haomeiwen.com/subject/pcwcultx.html