Amazon SQS(Simple Queue Service) 简单介绍
版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/hongchangfirst/article/details/25877059
SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它非常easy,消息队列服务能够用来buffer burst, 使整个服务异步处理,不要求组件始终可用.
开发者最初使用 Amazon SQS 时仅仅需用到五个 API:
CreateQueue、SendMessage、ReceiveMessage、ChangeMessageVisibility 和 DeleteMessage。
Amazon SQS 会尽量保持消息顺序,可是由于队列的分布式特性。SQS无法保证发送消息的先后顺序。
每一个 Amazon SQS 队列都具有可配置的可见性超时(Default Visibility Timeout)。在从队列中读取消息后的指定时间内。该消息对其它读取者保持不可见。
仅仅要消息的处理时间短于可见性超时,每条消息都会得以处理并删除。假设处理消息的组件出现失败或不可用,可见性超时结束后该消息即对读取该队列的不论什么组件可见。
这同意您让多个组件同一时候从同一队列中读取消息,每一个组件负责处理不同的消息。
在 Amazon SQS 返回消息后,该消息会保存在队列中,称之为In Flight状态。删除请求可确认已处理了该消息。
假设不删除消息,Amazon SQS 将在还有一个接收请求中递送该消息。
由于分布式 Amazon SQS 系统中的某台server在运行删除时不可用。DeleteMessage 操作未能删除消息的全部副本。该消息副本可能会被再次递送。所以应该在应用中进行对应的设计,以便在再次收到已删除的消息时不会出现错误或不一致。
假设连续 30 天以上时间没有针对某个队列签发下面不论什么请求,SQS有可能删除该队列:SendMessage、ReceiveMessage、DeleteMessage、GetQueueAttributes 和 SetQueueAttributes。设计应用程序时应将此考虑在内,这点比較恶心,认为不应该有这种性质。
短轮询和长轮询(差别是是否採样)
假设使用短轮询,则您从队列中检索消息时。Amazon SQS 会对server的一个子集(基于加权随机分布)进行採样,而且仅从这些server返回消息。
这意味着。特定接收请求可能不会返回您的全部消息。或者,假设您的队列中有少量消息(少于 1 000 条),则意味着,特定请求可能不会返回您的不论什么消息,而兴许请求则会返回您的不论什么消息。假设您继续从您的队列中检索消息。则 Amazon SQS 会对全部server进行採样,您会收到您的全部消息。
使用 Amazon SQS 进行长轮询的一个优点是:在没有消息可返回以答复发送到 Amazon SQS 队列的 ReceiveMessage 请求时。能够降低空响应数量。
在发送响应之前,长轮询同意 Amazon SQS 产品等到队列中的消息可用为止。因此,假设连接没有超时,则对 ReceiveMessage 请求的响应将至少包括一条可用的消息(假设有)。最多可包括 ReceiveMessage 调用中请求的最大消息数。
Receive Message Wait Time就是设置短轮询还是长轮询的,0代表短轮询,最大到20.
Amazon SQS 使用您须要熟悉的下面三个标识符:
队列 URL
消息 ID
接收句柄
每一个队列飞行消息(Messages in Flight)的数量限制为 120,000。
消息被队列接收后会处于飞行状态。但尚未从队列中删除。
假设达到 120,000 的限制,将会收到一条来自 Amazon SQS 的“OverLimit”错误消息。
为避免达到限制。应该在处理消息后将其从队列删除。
延迟队列同意将队列中新消息的传递操作推迟特定的秒数(Delivery Delay)。
假设您创建延迟队列,则发送到该队列的不论什么消息在延迟期间对使用者都不可见。延迟队列相似于可见性超时。由于这两种功能都使得使用者在特定的时间段内无法获得消息。
延迟队列和可见性超时之间的差别在于:对于延迟队列。消息在首次加入到队列时是隐藏的;而对于可见性超时,消息仅仅有在从队列取回后才是隐藏的。
默认拒绝和显式拒绝的差别非常重要。由于默认拒绝能够被同意覆盖,可是显式拒绝就不能。
显示拒绝是并的关系,默认拒绝是或的关系.
原文:http://blog.csdn.net/hongchangfirst/article/details/25877059
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
Amazon SQS(Simple Queue Service) 简单介绍的更多相关文章
- S3 服务(Simple Storage Service简单存储服务) 简介(与hdfs同一级)
图1 spark 相关 亚马逊云存储之S3(Simple Storage Service简单存储服务) (转 ) S3是Simple Storage Service的缩写,即简单存储服务.亚马逊的名 ...
- HTTPSQS(HTTP Simple Queue Service)消息队列
HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key ...
- 使用Amazon Simple Queue Service(SQS) 实现简单的消息服务
一 引言 亚马逊Amazon作为云计算的领跑者推出了很多云服务,最近因为项目的原因,需要用到SQS服务,因此简要地写下这篇随笔,一来方便以后查阅,二来方便共享一些简单的操作. SQS即可以理解为一个 ...
- Amazon SNS (Simple Notification Service) Using C# and Visual Studio
SNS (Amazon Simple Notification Services) Amazon SNS (Amazon Simple Notification Services) is a noti ...
- 安卓之service简单介绍
一 什么是Service 二 如何使用Service 三 Service的生命周期 一 什么是Service Service,看名字就知道跟正常理解的“服务”差不多,后台运行,可交互这样的一个东西 ...
- Amazon SQS简单介绍 上篇
SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它很easy,消息队列服务能够用来buffer burst, 使整个服务异步处理,不要求组件始终可用. 开发者最初使 ...
- [AWS vs Azure] 云计算里AWS和Azure的探究(6) - Amazon Simple Storage Service 和 Microsoft Azure Blob Storage
这几天Nasuni公司出了一份报告,分析了各个云厂商的云存储的性能,包括Amazon S3,Azure Blob Storage, Google Drive, HP以及Rackspace.其中性能上A ...
- Android Service使用简单介绍
作为一个android初学者,经常对service的使用感到困惑.今天结合Google API 对Service这四大组件之一,进行简单使用说明. 希望对和我一样的初学者有帮助,如有不对的地方,也希望 ...
- AWS系列-Amazon Simple Notification Service (SNS)
SNS是一项 Web 服务,用于协调和管理向订阅终端节点或客户交付或发送消息的过程.在 Amazon SNS 中有两种类型的客户端:发布者和订阅者,也称为生产者和消费者.发布者通过创建消息并将消息发送 ...
随机推荐
- "佛祖保佑 永无bug" 注释模板设置详解(仅供娱乐)
1.注释模板效果图 今天在网上看到一段有趣的注释,佛祖保佑 永无bug, 效果如下图所示: 代码如下所示: /** * _ooOoo_ * o8888888o * 88" . " ...
- MFC AfxMessageBox(_T("Please Load Rawdata First !"));
AfxMessageBox(_T("Please Load Rawdata First !"));
- JQuery EasyUI DataGrid获取当前行
1.获取当前行索引 var rowIndex = $('#dg').datagrid('getRowIndex', row); 2.根据索引删除当前行 $('#dg').datagrid('delet ...
- webpack之proxyTable配置
有两种情况: 一,有统一的项目名 config下index.js 配置如下: proxyTable: { '/tbt_user':{ target: 'http://47.98.216.251:80' ...
- maven子项目的springboot配置
正常来说一个maven子项目的parent是父项目,而不是直接继承,这时候就需要改下配置 默认生成的代码入下: <?xml version="1.0" encoding=&q ...
- mui---自定义页面打开的方向
在使用MUI做APP的时候,会考虑对页面的打开方向做规定,MUI也给我们提供了很多种页面的打开方式. 具体参考: http://ask.dcloud.net.cn/question/174 MUI做A ...
- 10.5ORM回顾(2)
2018-10-5 14:47:57 越努力越幸运!永远不要高估自己! ORM的聚合和分组查询!!! # #####################聚合和分组##################### ...
- 夺冠概率|2012年蓝桥杯B组题解析第九题-fishers
(17')夺冠概率 足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能. 假设有甲.乙.丙.丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表: 甲 乙 丙 丁 甲 - 0. ...
- Python与金融量化分析----金融与量化投资
一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...
- Cobbler 登录web界面提示报错“Internal Server Error”解决办法
Cobbler登录web页面报错 查看httpd日志/etc/httpd/logs/ssl_error_log 查看cobbler的py配置文件 sed -n '38,41p' /usr/share/ ...