首页 文章
  • 2 votes
     answers
     views

    AWS SQS - 在一条消息的可见性超时到期之前,队列不提供任何消息

    EDIT :在我写作的时候解决了这个:P - 我喜欢那种解决方案 . 我认为我关心点/业力等等 . 我刚刚写完了所有内容,所以我想发布它和解决方案 . 我有一个SQS FIFO队列 . 它正在使用死信队列 . 以下是它的配置方式: 我有一个 生产环境 者微服务,我有10个ECS图像作为消费者运行 . 由于业务原因,我们必须处理接近它们在队列中传递的时间的消息 . 我们正在为 生产环境 者和消费...
  • 4 votes
     answers
     views

    AWS SQS:在消费者中发生错误时移至死信队列

    我尝试使用像sqs-queue-parallel和sqs-consumer这样的npm包来消费节点中SQS的消息 但最近我有机制,当处理时特定消息发生错误时,它应该被移动到死信队列 但截至目前,它仍在按最大接收计数次数重试消息 是否有可能与其他一些npm包,每当发生错误时它应该直接移动到死信队列?
  • 1 votes
     answers
     views

    Amazon SQS - 使消息在x秒内不可见

    我有一个亚马逊SQS队列,我试图让它以这种方式工作: 当新消息添加到队列时,只有收到该消息的第一个客户端才会开始工作 对于其他人,该消息将在一段时间内不可见 是否可以使用Visibility Timeout执行此操作?
  • 1 votes
     answers
     views

    Amazon SQS消息队列

    我有以下场景: 对于需要处理的作业,包含作业描述的消息将发送到Amazon SQS消息队列 我有不同的流程需要做这些工作 需要满足以下条件: 如果一个进程无法完成作业(可能是因为它在崩溃时运行的服务器),则该作业必须再次可用于其他进程 . 当正在处理一个作业时,具有相同描述的其他作业必须等到第一个作业完成或达到其超时 . 系统应根据消息队列长度轻松扩展 . 为了确保(1...
  • 1 votes
     answers
     views

    手动acknolwedgement平方?

    目前我们正在使用'RabbitMQ'进行可靠的消息传递,我们计划在Queue的任何消费者关闭时通过TCP移动SQS.RMQP监视其消费者,它将自动重新排队消息以进行处理 . SQS会监控所有奴隶吗?如果消息中的一个消息在处理消息时出现故障,消息是否在队列中可见? 我试图从文档中找到相同的内容,但我找不到任何内容 .
  • 6 votes
     answers
     views

    使用Akka,SQS和Camel的消费者民意调查率

    我正在研究的项目需要从SQS读取消息,我决定使用Akka来分发这些消息的处理 . 由于SQS是Camel支持的,并且内置了在Consumer类中使用Akka的功能,我想最好以这种方式实现 endpoints 和读取消息,尽管我没有看到很多人这样做的例子 . 我的问题是我不能足够快地轮询我的队列以保持我的队列空,或接近空 . 我最初的想法是,我可以让消费者从SQS以X / s的速率接收来自Camel...
  • 1 votes
     answers
     views

    AWS:每个消息组的SQS FIFO TPS限制

    从FIFO queues的AWS SQS文档中可以看出: FIFO队列还提供一次性处理,但限制为每秒300个事务(TPS) . ... FIFO队列支持允许单个队列中的多个有序消息组的消息组 . ... 始终按照相对于消息组的严格顺序逐个处理属于同一消息组的消息(但是,可能无序处理属于不同消息组的消息) . 有没有人知道这是否意味着300 TPS限制应用于while队列或每个消息组?
  • 6 votes
     answers
     views

    RabbitMQ可见性超时

    RabbitMQ队列是否具有类似AWS SQS的“消息可见性超时”? 从AWS SQS文档: “一旦Amazon SQS返回消息,可见性超时时钟就开始计时 . 在此期间,组件处理并删除消息 . 但是如果组件在删除消息之前失败会发生什么?如果您的系统之前没有为该消息调用DeleteMessage可见性超时到期后,消息再次对系统中组件发出的ReceiveMessage调用可见,并且将再次接收该消息“ ...
  • 34 votes
     answers
     views

    为什么SqS消息有时会在队列中保持在飞行状态

    我以非常简单的方式使用Amazon SQS队列 . 通常,消息被写入并立即可见和读取 . 有时,会写入一条消息,并在队列中保持几分钟的飞行中(不可见) . 我可以从控制台看到它 . 接收消息等待时间为0,默认可见性为5秒 . 它将保持这种状态几分钟,或者直到新消息被写入以某种方式释放它 . 几秒钟的延迟是可以的,但超过60秒是不行的 . 有8个读取器线程总是很长的轮询,所以它不是没有尝试读取它的东...
  • 8 votes
     answers
     views

    延迟队列消息在SQS中是否算作“飞行中”?

    我正在开展一个我打算使用an Amazon SQS Delay Queue的项目 . 我在理解“飞行”消息的确切含义时遇到了一些麻烦 . 文档中有一条说明: 注意每个队列的机上信息数量限制为120,000 . 消息在队列接收后仍处于空中,但尚未从队列中删除 . 如果达到120,000限制,您将收到来自Amazon SQS的OverLimit错误消息 . 为了避免达到限制,您应该在处理完队列后删除...
  • 4 votes
     answers
     views

    Amazon SQS:两个当前消费者使用相同的消息

    我有四个当前的消费者在Amazon AWS上侦听同一个队列 . 从队列中拉下消息时,有时两个不同的消费者会消耗相同的消息 . 请参阅下面的日志: 18:01:46,515 [jmsContainer-2] DEBUG - 从队列中收到消息:ID:3698a927-930b-4d6a-aeca-f66922528792 18:02:12,825 [jmsContainer-3] DEBUG - ...
  • 2 votes
     answers
     views

    AWS Beanstalk:SQS的指数退避?

    我们正在使用Beanstalk上的工作层发送webhook . 如果在联系第三方时出现任何错误,我们需要使用指数退避 . 但是,我不清楚这是如何工作的 . 如果作业失败并且我调用 ChangeMessageVisibility 来增加退避时间,我有两个选择: 返回成功200.然后SQS将其从队列中删除 - 不好 . 返回错误代码 . 然后SQS会将消息可见性覆盖为默认值? 从Envir...
  • 2 votes
     answers
     views

    Amazon AWS Worker不会从SQS队列中删除邮件

    据我了解,我的AWS弹性beanstalk订阅SQS队列的工作人员应该在我发送200 OK标头时自动删除消息 . 工作环境中的Web应用程序应该只在本地主机上侦听 . 当工作线程环境中的Web应用程序返回200 OK响应以确认它已收到并成功处理了请求时,守护程序将向SQS队列发送DeleteMessage调用,以便从队列中删除该消息 . (SQS自动删除队列中的消息的时间超过配置的Retent...
  • 2 votes
     answers
     views

    SQS的ApproximateReceiveCount有多准确

    我有一个系统,其中多个工作程序并行使用标准SQS队列 . 我注意到,当我有相对大量的消息(即3百万)时,我最后的总处理数总是导致比消息总数多一些消息(大约30) . (0.001%~0.002%以上) 我怀疑这是因为“至少一次”交付: 亚马逊文档:即使您删除了邮件,也可能会收到邮件 . 如果在请求删除邮件时存储邮件副本的其中一个服务器不可用,则极少数情况下可能会发生这种情况 . 副本仍保留在服...
  • 1 votes
     answers
     views

    Amazon SQS - FIFO队列消息请求,不一致接收

    我有一个FIFO SQS队列,可见时间为30秒 . 要求是尽可能快速地读取消息并清除队列 . 我在JAVA中的代码如下所示(这只是一个想法的代表,而不是完整的代码): //keep getting messages from FIFO and process them ASAP while(true) { List<Message> messages = sqsc...
  • 0 votes
     answers
     views

    从SQS FIFO队列中删除消息:收据句柄已过期

    我切换到FIFO队列,当我尝试从队列中删除消息时,我收到此错误消息 Value {VALUE} for parameter ReceiptHandle is invalid. Reason: The receipt handle has expired. 似乎发生错误是因为我试图在 visibility timeout 过期后删除该消息 . 我将默认可见性超时0更改为最大值,12小时,这部分解决...
  • 0 votes
     answers
     views

    从App Engine消耗SQS任务

    我正在尝试与在Amazon SQS队列上发布消息的第三方集成 . 我需要我的GAE后端才能收到这些消息 . 基本上,我希望以下脚本启动并始终运行 import boto3 sqs_client = boto3.client('sqs', aws_access_key_id=KEY, aws_secret_access_key=SECRET, region_name=R...
  • -1 votes
     answers
     views

    ES7承诺并等待异步功能,它在后台永远循环

    这可能是一个特例: 我想从队列中读取(AWS SQS),这是通过对消息进行等待几秒钟的调用来完成的,然后解析 - 并且只要您想要处理该队列,就可以在循环中反复调用(它)每次检查一个标志) . 这意味着我有一个 consume 函数,只要应用程序处于活动状态,或者队列未标记就会运行 . 我还有一个用于订阅队列的 subscribe 函数 - 一旦知道消费者能够连接到队列就应该解析 . 即使这个函数调...
  • 0 votes
     answers
     views

    使用弹性beanstalk和SQS处理cron作业失败

    我有两个弹性beanstalk环境 . 一个是“主要”Web服务器环境,另一个是处理cron作业的工作环境 . 我有12个cron作业,通过cron.yaml文件设置,所有文件都指向主Web服务器上的API endpoints . 以前我的cron作业都在Web服务器环境中运行,但当然这会在按比例放大时创建重复的cron作业 . 我的新实现工作得很好但是我的cron作业无法按预期运行,cron作...
  • 5 votes
     answers
     views

    在SQS队列中使用许多使用者

    我知道可以使用多个线程来使用SQS队列 . 我想保证每条消息都会消耗一次 . 我知道可以更改消息的 visibility timeout ,例如,等于我的处理时间 . 如果我的进程花费的时间多于 visibility timeout (例如,慢速连接),则其他线程可以使用相同的消息 . 保证邮件一次处理的最佳方法是什么?
  • 1 votes
     answers
     views

    DefaultJmsListenerContainerFactory - 并发 - 每个队列的线程数何时开始增加?

    DefaultMessageListenerContainer documentation州: 可以通过指定高于“concurrentConsumers”值的“maxConcurrentConsumers”值来激活并发调度器数量的动态缩放 . 由于后者的默认值为1,因此您也可以简单地指定例如“maxConcurrentConsumers” . 如图5所示,在消息负载增加的情况下,这将导致动态扩展...
  • 1 votes
     answers
     views

    使用Lambda和SQS的AWS Server-less架构

    我最近一直在学习越来越多关于AWS的知识 . 我一直在阅读白皮书,并通过各种服务工作 . 我一直在研究PHP应用程序和前端开发人员 . 有两件事真的让我感到困惑 . 这两件事是使用带有事件触发器和SQS(队列)的Lambdas的无服务器架构 . 在过去的三年里,我一直在使用REST over HTTP和Angular这样的框架 . 虽然我可以通过Lambda和消息队列创建一个完整的后端/服务层 ....
  • 1 votes
     answers
     views

    Django芹菜4 - ValueError:当启动芹菜 Worker 时,int()的基数为10的文字无效

    我已将celery.py配置为其文档但我将我的芹菜代理URL添加到AWS SQS但我无法启动它 . 当我运行芹菜工作者时,我得到ValueError: File "/Users/abd/Desktop/proj-aws/lib/python3.6/site-packages/celery/bin/base.py", line 244, in __call__ ret...
  • 26 votes
     answers
     views

    Amazon SQS消息多传递

    我知道,为了带来巨大的可扩展性和可靠性,SQS可以进行广泛的资源并行化 . 它使用冗余服务器甚至是小队列,甚至发布到队列的消息也作为多个副本冗余存储 . 这些是阻止它像RabbitMQ那样完全一次交付的因素 . 我看到甚至已删除的消息正在传递 . 对开发人员的影响是他们需要为多个消息传递做好准备 . 亚马逊声称这不是一个问题,但事实上,开发人员必须使用一些同步构造,如数据库事务锁或dynamo-d...
  • 3 votes
     answers
     views

    重复邮件上的邮件ID

    根据SQS(强调我的)的文件: Amazon SQS将您的邮件副本存储在多台服务器上,以实现冗余和高可用性 . 在极少数情况下,当您收到或删除邮件时,其中一个存储邮件副本的服务器可能不可用 . 如果发生这种情况,则不会在该不可用的服务器上删除该邮件的副本,并且您可能会在收到邮件时再次收到该邮件副本 . 因此,您必须将您的应用程序设计为幂等的(即,如果它不止一次地处理相同的消息,则不得对其产生负面...
  • 1 votes
     answers
     views

    重复消息之间的时间段

    根据SQS(强调我的)的文件: Amazon SQS将您的邮件副本存储在多台服务器上,以实现冗余和高可用性 . 在极少数情况下,当您收到或删除邮件时,其中一个存储邮件副本的服务器可能不可用 . 如果发生这种情况,则不会在该不可用的服务器上删除该邮件的副本,并且您可能会在收到邮件时再次收到该邮件副本 . 因此,您必须将您的应用程序设计为幂等的(即,如果它不止一次地处理相同的消息,则不得对其产生负面...
  • 8 votes
     answers
     views

    仅在处理了相同主题的SQS订阅后才调用AWS Lambda SNS事件

    我想实现Amazon SNS主题,该主题首先将消息传递到作为主题订阅者的SQS队列,然后执行AWS Lambda函数,该函数也是同一主题的订阅者 . 然后,Lambda函数可以从SQS队列中读取消息并并行处理其中几个(数百个) . 我的问题是,是否有任何方法可以保证发送到SNS主题的消息首先被传递到SQS队列,然后才传递给Lambda函数? 这样做的目的是扩展到大量消息,而不必为每个消息单独执行L...
  • 1 votes
     answers
     views

    使用'sqs-extended-jar'处理大邮件

    我想使用Amazon SQS扩展客户端jar来发送和接收大于256 KB的消息 . http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/s3-messages.html 如上面链接中的示例所述,我们需要使用AmazonSQS sqsExtended = new AmazonSQSExtendedCli...
  • 56 votes
     answers
     views

    如何使用lambda函数处理SQS队列(不是通过预定事件)?

    这是我正在尝试的简化方案: http请求 - >(网关API lambda A) - > SQS - >(lambda B ?????) - > DynamoDB 所以它应该如图所示:来自许多http请求的数据(例如,每秒高达500)被我的lambda函数A放入SQS队列 . 然后另一个函数B处理队列:最多读取10个项目(在某些期刊的基础上)并使用BatchWrite...
  • 1 votes
     answers
     views

    lambda调用另一个lambda并达到1000的并发阈值

    场景 - 有一个主lambda正在拆分工作并将其交给多个其他lambda( Worker ) . 第一个lambda迭代并异步调用其他lambdas 如果产生的lambda数量超过1000,它会失败吗? 两个lambdas之间是否应该有一个SNS ...以便SNS重试? 或者是一种更复杂的方法,将消息放入队列,然后发送“X”号工作者lambda的通知以开始轮询队列? 有没有更好的办法?

热门问题