Amazon SQS简单介绍 上篇
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 返回消息给您时,该消息会保存在队列中,不管实际上您是否收到该消息。您要负责删除该消息;删除请求可确认您已处理了该消息。假设您不删除消息,Amazon SQS 将在还有一个接收请求中递送该消息。
所以这样情况也是有可能发生的,因为分布式 Amazon SQS 系统中的某台server在运行删除时不可用,DeleteMessage 操作未能删除消息的全部副本。该消息副本可能会被再次递送,所以在设计应用程序时,要考虑此,以便再次收到已删除的消息时不会出现错误或不一致。
假设连续 30 天以上时间没有针对某个队列签发下面不论什么请求,SQS有可能删除该队列:SendMessage、ReceiveMessage、DeleteMessage、GetQueueAttributes 和 SetQueueAttributes。设计应用程序时应将此考虑在内。
原文:http://blog.csdn.net/hongchangfirst/article/details/25870323
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
Amazon SQS简单介绍 上篇的更多相关文章
- Amazon SQS(Simple Queue Service) 简单介绍
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/hongchangfirst/article/details/25877059 SQS即Simple ...
- Python常用的库简单介绍一下
Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...
- Android项目开发全程(二)--Afinal用法简单介绍
本篇博文接上篇的<Android项目开发全程(一)--创建工程>,主要介绍一下在本项目中用到的一个很重要的框架-Afinal,由于本系列博文重点是项目开发全程,所以在这里就先介绍一下本项目 ...
- Python的简单介绍
0. 前言 最近在从头梳理Python的相关知识,有助于以后更好地学习新知识.这篇博客,我简单介绍一下Python语言的有关内容. 1. Python介绍 Python的创始人为荷兰人吉多·范罗苏姆( ...
- Hibernate学习(1)简单介绍
1.什么是Hibernate? 首先,Hibernate是数据持久层的一个轻量级框架.数据持久层的框架有非常多比方:iBATIS,myBatis,Nhibernate,Siena等 ...
- Flyway的简单介绍和使用(转)
Flyway的简单介绍及使用 一.开发时管理数据库遇到的问题: 现在开发一般都是团队开发,这样就会出现项目同步的问题,代码同步可以通过SVN工具管理起来,那数据库同步怎么办呢?理想的情况下,在开发新项 ...
- 【Hadoop离线基础总结】impala简单介绍及安装部署
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
随机推荐
- oracle 通过查询灵活插入数据 insert into ...select..
insert into reg_user (id,name,password,area_code,reg_time,first_pswd,record_type) select l.reg_user_ ...
- Android 的Google+平台
Google+是谷歌推出的身份服务和社交网站.也是Google各种服务社交层面的补强.是世界上第二大的社交网站.一旦用户登录到Google,你就可以按照自己的需要定制服务和使用你的应用程序.
- FZU2179(数位dp)
传送门:Chriswho 题意:求区间[1,n]内能整除自己本身各位数字的数的个数. 分析:这题跟CF 55D Beautiful numbers一样的,一个数能被它的所有非零数位整除,则能被它们的最 ...
- HDU1300DP
/* HDU1300 DP 特定n饰品种类 每个饰品的两个数据.amount[i]代表数量.price[i]代表单位价格 购买珠宝时要满足下面购买规则: 单独买:每种珠宝要加上数量10 合并买:能够把 ...
- LeetCode——Rotate List
Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given ...
- C++内存管理学习笔记(7)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- logstash+ElasticSearch+Kibana VS Splunk
logstash+ElasticSearch+Kibana VS Splunk 最近帮磊哥移植一套开源的日志管理软件,替代Splunk. Splunk是一个功能强大的日志管理工具,它不仅可以用多种方式 ...
- python手记(48)
#!/usr/bin/env python # -*- coding: utf-8 -*- #http://blog.csdn.net/myhaspl #code:myhaspl@qq.com imp ...
- 【Oracle】-【sqlplus / as sysdba登录报错问题】-新用户使用sqlplus / as sysdba登录报错
刚才打开一个别人的测试库,用root登陆了的,sqlplus / as sysdba竟然报错,奇怪,于是在自己的VM中模拟该过程. 新建了一个test用户: [test@liu bin]# ./sql ...
- Java命令学习系列(7):Javap(转)
原文出处: Hollis(@Hollis_Chuang) javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件 ...