消息不可见性解决了另一个问题,即只保证一次交付 . 考虑队列中项目的长时间运行操作 . 如果处理器在操作期间出现故障,您不希望删除该消息,您希望它再次出现并由另一个处理器再次处理 .

所以模式是......

将(推送)项写入队列

在队列中查看(查看)项目

标记项目不可见

对项目执行处理

写下结果

从队列中删除(弹出)项目

因此,无论您是否获得重复交付,您仍需要确保处理队列中的项目 . 如果在将其从队列中拉出来删除它,然后您的服务器终止,您可能会永远丢失该消息 . 它可以通过使用spot实例进行积极扩展 - 并保证(使用上述模式),您不会丢失消息 .

但是 - 它不保证只有一次交付 . 但我不认为它是针对这个问题而设计的 . 我也不认为这是一个不可逾越的问题 . 在我们的案例中(我可以看到为什么我以前从未注意到这些问题) - 我们正在将结果写入S3 . 如果它用相同的数据覆盖相同的文件,那没什么大不了的 . 当然,如果这是一个转账到银行A / C的借记交易,你可能想要某种相关ID ......大多数系统已经有了那些 . 因此,如果您获得重复的相关值,则抛出异常并继续 .

好问题 . 突出显示了一些东西给我 .

amazon sqs java_Amazon SQS消息多传递相关推荐

  1. amazon sqs java_Amazon SQS 消息队列服务

    Amazon sqs是亚马逊提供的线上消息队列服务, 可以实现应用程序解耦,以及可靠性保证. sqs提供了两种消息队列, 一种是标准消息队列, 一种是先进先出队列(FIFO), 其区别是FIFO是严格 ...

  2. aws sqs java_Amazon SQS

    特点.功能和接口 问:是否可以将 Amazon SQS 与其他 AWS 服务结合使用? 能.您可以将 Amazon SQS 与 Amazon EC2.Amazon EC2 Container Serv ...

  3. amazon sqs java_Amazon SQS Java SDK – 无法接收消息属性

    在发送带有以下代码的属性到SQS的消息发送之前(并检查SQS控制台以查看是否所有内容都正确发布)- messageRequest.addMessageAttributesEntry( "at ...

  4. iOS 消息的传递机制

    2019独角兽企业重金招聘Python工程师标准>>> 转载原地址:http://beyondvincent.com/blog/2013/12/14/124-communicatio ...

  5. 请求体的方式传参_Angularjs中$http以post请求通过消息体传递参数的实现方法

    本文实例讲述了Angularjs中$http以post请求通过消息体传递参数的方法.分享给大家供大家参考,具体如下: Angularjs中,$http以post在消息体中传递参数,需要做以下修改,以确 ...

  6. 【ACWing】1176. 消息的传递

    题目地址: https://www.acwing.com/problem/content/1178/ 我们的郭嘉大大在曹操这过得逍遥自在,但是有一天曹操给了他一个任务,在建邺城内有NNN个袁绍的奸细, ...

  7. QNX操作系统信息传递-qnx任务之间的消息传递信息传递

    转载:https://blog.csdn.net/xjhhjx/article/details/77139457 一.QNX消息概述 QNX消息可以分为同步消息和异步消息.异步(脉冲)消息主要体现的是 ...

  8. amazon sqs java_使用java的Amazon sns和sqs消息

    我有两个不同的系统(A和B)使用 amazon sqs进行通信. 系统A向系统B发送消息. 目前,系统B使用在服务器启动时启动的独立线程获取消息. 这是run方法: @Override public ...

  9. aws sqs java_AWS SQS Java.并非所有消息都从SQS队列中检索

    我一直在尝试使用AWS SDK for Java从SQS队列中检索所有消息的几种方法无济于事.我已经了解了AWS SQS的分布式特性,并且消息存储在不同的服务器上.但我不明白为什么这个架构不会被最终用 ...

  10. RabbitMQ 延迟队列和消息可靠传递

    rabbitmq使用 docker 安装 rabbitmq docker 安装 rabbitmq 延时消息插件 RabbitMQ 延时队列的实现 什么是延时队列 延时队列使用场景 RabbitMQ 中 ...

最新文章

  1. pandas.DataFrame()的基本操作
  2. 用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果(转)
  3. [剑指offer]面试题第[59-2]题[JAVA][队列的最大值][暴力][双端队列]
  4. java比赛题目_【蓝桥杯2016第七届比赛题目】JAVA A组
  5. ssm整合spring,springmvc,mybatis-day12
  6. Cookie (设置与读取、超时设置、指定路径、显示用户上次登录时间)
  7. Js中去除数组中重复元素的4种方法
  8. rtmp,rtsp,hLS区别
  9. Kindle通过邮箱传文件允许的文件类型。
  10. matlab 分子动力学,两体的分子动力学模型-MATLAB源程序
  11. Leetcode #1 Two Sum
  12. 解决ERROR: Cannot uninstall ‘llvmlite‘. It is a distutils installed project and thus we cannot accurat
  13. HTML5视频与字幕使用的介绍
  14. 就业喜报|最高薪资15K,平均7216元,这个双十一不做“吃圭人”!
  15. CTFSHOW: 36D杯 misc ez-qrcode
  16. Intent的基本使用
  17. 华中科技大学2021年博士研究生招生简章
  18. 去掉cajview阅读器右上角的图标方法
  19. 在Excel中添加数据分析工具
  20. ARP渗透与攻防(二)之断网攻击

热门文章

  1. centos 7安装java 8
  2. html文件系统错误的是,Windows10:文件系统错误2147219196
  3. WPF 动态添加控件以及样式字典的引用(Style introduction)
  4. Java异步多线程编程探索之CompletableFuture
  5. 忘记root密码,怎么办
  6. Ubuntu改坏sudoers后无法使用sudo的解决办法
  7. linux find grep组合使用
  8. Java的redis控制台-Jedis
  9. java 相等测试与继承
  10. Fragment学习(二): 管理Fragment和Fragment通讯