• [AWS DA Guru] SQS


    Pull-Based

    SQS is pull-based, not pushed-based

    256KB

    Messages are 256 KB in size.

    Text Data

    Including XML, JSON, and unformatted text.

    Guarantee

    Messages will be processed at least once

    Up to 14 Days

    Messages can be kept in the queue from one minute to 14 days.

    Default is Four Days

    The default retention period is 4 days.

    Features

    • Decouple the components of an application so they run independently, easing message management between compoentns.
    • Any component of a distributed application can store messages in the queue. Messages can contain up to 256KB of text in any format
    • Any component can later retrieve the messages programmatically using Amamzon SQS API.

    Resole Scheduling Issues

    • The queue resolves issues that arise if the producer is prodcuing work faster than the cuonsumer can process it
    • Or if the producer or consumer are only intermittently connected to the network.

    Types of SQS

    Standared Queues

    • Unlimited Transaction: Nearly-unlimited number of transactions per second
    • Guarantee: Guarantees that a message is delivered at leat once
    • Best-Effort Ordering Messages are generally delivered in the same order as they are sent
    • Occasionly more than one copy of a mesage might be delivered out of order

    FIFO Queues

    • The order in which messages are sent and received is strictly preserved
    • A message is delivered once and remains availabe until a consumer processes and deletes it. Duplicates are not introduced.
    • FIFO Queues are limited to 300 transactions per second. But have all the capabilities of standard queues.

    Change the Visibility Timeout

    • The default visibility timeout is 30 seconds
    • Increase it if the task takes more than 30 seconds
    • The maximum is 12 hours

    Short Polling Versus Long Polling

    Short Polling: A response is returned immediately even if no messages are in the queue. A cost per reponse.

    Long Polling: Periodically polls the queue and only returns a response when a message is in the queue or the timeout is reached. Most cost effective option.

    SQS Delay Queues

    Postpone delivery of new message

    • Postpone delivery of new messages to a queue for a number of second
    • Messages sent to the Delay Queue remain invisible to consumers for the duration of the delay period
    • Default delay is 0 seconds, maximum is 900

    When should you use a Delay Queue?

    • Large distributed applications which may need to introduce a delay in processing
    • You need to applya delay to an entire queue of messages
    • e.g adding a delay of a few seconds, to allow for updates to your sales and stock control databases before sending a notification to a customer confirming an online transaction

    • Visibility timeout: default 30 seconds, up to 12 hours.
    • Long Pulling timeout is 20 seconds

    Delay Period

    • Messages in a Delay Queue remain invisible for duration of the delay period 0 second up to 15 mins.

  • 相关阅读:
    Python-02 基础语法
    Python-01 基础语法
    windows端口被占用-解决方案
    vue两个独立的组件之间的传值通信
    URI
    Inversion of control
    7月10日每日总结
    7月9日每日总结
    xshell终端设置主机名和用户名颜色
    PyTorch中一些损失函数的使用
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14728760.html
Copyright © 2020-2023  润新知