Amazon云盘算AWS之[6]简单队列服务SQS

[复制链接]
发表于 2026-2-17 22:38:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
简单队列服务SQS



  • 简单队列服务(Simple Queue Service,SQS)是Amazon为办理其云盘算平台之间差别组件的通讯而专门筹划开发的。
SQS根本构成



  • SQS由三个根本部分构成:体系组件(Component)、队列(Queue)和消息(Message)。、
  • 消息和队列是最紧张的两个概念。

体系组件



  • 体系组件是SQS的服务对象。组件既是消息的发送者,也是消息的汲取者。
  • SQS则是组件之间沟通的桥梁
队列



  • 队列是存放消息的容器,类似                                   S                         3                              S3                  S3中的桶。
  • 队列的数目恣意,创建队列时用户必须给其指定一个在SQS账户内唯一的名称。当须要定位某个队列时采取URL的方式举行访问,URL是体系自动给创建的队列分配的。
  • 队列在转达消息时会尽大概实现“先辈先出”,但无法包管先辈入的消息肯定会开始被投递给指定的汲取者。
消息



  • 消息是发送者创建的具有肯定格式的文本数据,汲取对象可以是一个或多个组件。
  • 消息的巨细有限定,但数目不做限定。
  • SQS允许用户在消息中添加有关的序列数据,对于数据发送序次要求比力高的用户可以在发送消息之前向此中参加干系信息。
SQS的消息

消息格式




  • 消息ID(Message ID):由体系返回给用户,用来标识队列中的差别消息。
  • 汲取句柄(Receipt Handle):当从队列中汲取消息时会从消息处得到汲取句柄,该句柄可以用来对消息举行删除等操纵。
  • 消息体(Body):消息的正文部分,须要注意的是消息存放的是文本数据而且不能是URL编码方式。
  • 消息体MD5择要(MD5 of Body):消息体字符串的MD5校验和。
消息取样



  • 队列中的消息是冗余存储的,同一个消息会存放在体系的多个服务器上。其目的是为了包管体系的高可用性,但会给用户查询队列中的消息带来贫苦。
  • 为办理该题目,SQS采取基于加权随机分布(Weighted Random Distribution)的消息取样。当用户发出查询队列中消息的下令后,体系在全部的服务器上利用基于加权随机分布算法随机地选出部分服务器,然后返回这些服务器上查询到的队列消息副本。

  • 当消息数目较少时,SQS举行消息取样时大概会出现返回结果禁绝确的征象
  • 但由于消息采样具有随机性,只要用户不停查询下去,总会查询到全部的消息。
消息可见性超时值和生命周期

   

  • 在SQS中,消息是否被担当是由用户确认的。当用户实验删除操纵后,体系会以为用户已汲取到消息,将队列中的消息彻底删除。假如用户未汲取到数据或汲取到数据未被实验删除操纵,SQS将在队列中保存该消息。
  • 为包管其他组件不会瞥见用户的消息,SQS会将该消息壅闭,相当于给消息加锁。但是锁并不会不停锁住消息,由于体系保存消息的目的是给用户重传数据。为此SQS引入一个可见性超时值(Visibility Timeout)。
  

  • 可见性:表现该消息可以被全部的组件查察。可见性超时值相当于一个计时器。在设定好的时间内,发给用户的消息对于其他全部的组件是不可见的。假如在计时器到时之前用户不停未实验删除操纵,则SQS会将该消息的状态酿成可见并给用户重传这个消息。
  • 扩展操纵:将计时器按照新设定的值重新计时,制止就是将当前的计时过程制止,直接将消息由不可见变为可见。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表