草庐IT

python - 适用于 Python 的 Amazon SQS 的替代方案

我有一组EC2实例,其中安装了一个使用相同SQS队列的进程,将其命名为my_queue。这个队列非常活跃,每分钟写入超过250条消息并连续删除这250条消息。我此时遇到的问题是它开始变慢,因此,我的系统无法正常工作,一些进程挂起,因为SQS关闭了连接并写入了远程机器。我使用SQS的最大优势是1)它非常易于使用,无需安装或配置本地文件,2)它是一个可靠的工具,因为我只需要一个key和key_secret即可开始推送并拉取消息。我的问题是:SQS有哪些替代方案,我知道Redis、RabbittMQ,但两者都需要本地部署和配置,这可能会导致功能不可靠,例如,如果运行它的机器突然崩溃,其他机器

amazon-web-services - aws sqs lambda : messages not re-appearing

我遵循标准的awslambda创建和sqs触发器。然后我将消息发送到sqs队列,然后启动lambda,后者又写入stdout。一切顺利。问题是:我还没有删除收到的消息,我希望消息在60秒(默认)可见期后再次出现以进行处理。这并没有发生,想知道为什么。packagemainimport("context""fmt""github.com/aws/aws-lambda-go/events""github.com/aws/aws-lambda-go/lambda")funchandler(ctxcontext.Context,sqsEventevents.SQSEvent)error{for

amazon-web-services - aws sqs lambda : messages not re-appearing

我遵循标准的awslambda创建和sqs触发器。然后我将消息发送到sqs队列,然后启动lambda,后者又写入stdout。一切顺利。问题是:我还没有删除收到的消息,我希望消息在60秒(默认)可见期后再次出现以进行处理。这并没有发生,想知道为什么。packagemainimport("context""fmt""github.com/aws/aws-lambda-go/events""github.com/aws/aws-lambda-go/lambda")funchandler(ctxcontext.Context,sqsEventevents.SQSEvent)error{for

java - 提交到 SQS 时有关将消息自动编码为 base64 的规则

我正在开发一个应用程序,其中客户端(用多种语言编写-Go、C++、Python、C#、Java、Perl以及future可能更多)向SQS提交protobuf(在某些情况下,JSON)消息。在另一端,消息由Python和Go客户端读取和解码——取决于消息类型。Boto似乎会自动将消息编码为base64,但其他语言库似乎不会这样做。或者可能还有其他一些规则?Boto确实有提交原始消息的选项。这里的预期行为是什么?我是否应该自己将消息编码为base64-这使得boto成为一个奇怪的情况-或者我是否遗漏了什么?这在我的应用程序中引起了一些细微的错误,因为有一层额外的base64编码或解码。据

java - 提交到 SQS 时有关将消息自动编码为 base64 的规则

我正在开发一个应用程序,其中客户端(用多种语言编写-Go、C++、Python、C#、Java、Perl以及future可能更多)向SQS提交protobuf(在某些情况下,JSON)消息。在另一端,消息由Python和Go客户端读取和解码——取决于消息类型。Boto似乎会自动将消息编码为base64,但其他语言库似乎不会这样做。或者可能还有其他一些规则?Boto确实有提交原始消息的选项。这里的预期行为是什么?我是否应该自己将消息编码为base64-这使得boto成为一个奇怪的情况-或者我是否遗漏了什么?这在我的应用程序中引起了一些细微的错误,因为有一层额外的base64编码或解码。据

node.js - 使用 Amazon SQS 完成 Lambda 函数时通知浏览器客户端

在我的场景中,我正在尝试实现运行相当耗时的计算的无服务器后端。此计算由引用一些外部API的Lambda管理。为了请求这个,我使用了AmazonAPIGateway,它有10秒的执行限制。然而Lambda运行大约100秒。为了避免这个限制,我使用第二个Lambda函数来执行这个耗时的计算并报告计算已开始。我看起来很像这个:varAWS=require('aws-sdk');varcolors=require('colors');varfunctionName='really-long'varlambda=newAWS.Lambda({apiVersion:'2015-03-31'});v

node.js - 使用 Amazon SQS 完成 Lambda 函数时通知浏览器客户端

在我的场景中,我正在尝试实现运行相当耗时的计算的无服务器后端。此计算由引用一些外部API的Lambda管理。为了请求这个,我使用了AmazonAPIGateway,它有10秒的执行限制。然而Lambda运行大约100秒。为了避免这个限制,我使用第二个Lambda函数来执行这个耗时的计算并报告计算已开始。我看起来很像这个:varAWS=require('aws-sdk');varcolors=require('colors');varfunctionName='really-long'varlambda=newAWS.Lambda({apiVersion:'2015-03-31'});v

java - 从 SQS 检索多条消息

我在SQS中有多个消息。以下代码总是只返回一个,即使有几十个可见(不在飞行中)。setMaxNumberOfMessages我以为会允许一次消耗多个..我误解了吗?CreateQueueRequestcreateQueueRequest=newCreateQueueRequest().withQueueName(queueName);StringqueueUrl=sqs.createQueue(createQueueRequest).getQueueUrl();ReceiveMessageRequestreceiveMessageRequest=newReceiveMessageReq

java - 从 SQS 检索多条消息

我在SQS中有多个消息。以下代码总是只返回一个,即使有几十个可见(不在飞行中)。setMaxNumberOfMessages我以为会允许一次消耗多个..我误解了吗?CreateQueueRequestcreateQueueRequest=newCreateQueueRequest().withQueueName(queueName);StringqueueUrl=sqs.createQueue(createQueueRequest).getQueueUrl();ReceiveMessageRequestreceiveMessageRequest=newReceiveMessageReq

Spring Cloud - SQS - 此wsdl版本的指定队列不存在

我正在尝试让springcloud使用自动配置来处理消息。我的属性文件包含:cloud.aws.credentials.accessKey=xxxxxxxxxxcloud.aws.credentials.secretKey=xxxxxxxxxxcloud.aws.region.static=us-west-2我的配置类如下:@EnableSqs@ComponentScan@EnableAutoConfigurationpublicclassApplication{publicstaticvoidmain(String[]args)throwsException{SpringApplic