我们是否可以为 SNS 主题提供一个轮询器,它可以定期从 SNS 主题获取所有消息,就像我们为 SQS 所做的那样?
如果删除的消息数等于接收的消息数,SQS 队列中的消息数增加的原因是什么?
所以我试图了解队列解决了哪些实际问题。通过阅读谷歌上的所有信息,我得到了高水平的信息。
因此,我正在研究 A 公司的架构,他们对于作业队列有不同的用例,例如
为什么要稍后处理呢?
这是我最好的猜测...
假设这是一个有效的用例,那么添加更多服务器来处理更多“事物”难道没有意义吗?是因为添加更多服务器比使用队列成本更高并且稍微牺牲响应时间吗?
根据我的用例示例,队列还能为它们解决哪些其他问题?
SQS我正在尝试向我的using添加一条消息Postman。
当我尝试以下操作时Postman:
GET https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo?Action=SendMessage&MessageBody={"message":"test1}
Run Code Online (Sandbox Code Playgroud)
我得到:
<?xml version="1.0"?>
<ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
<Error>
<Type>Sender</Type>
<Code>AccessDenied</Code>
<Message>Access to the resource https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo is denied.</Message>
<Detail/>
</Error>
<RequestId>80ddb4e8-5eff-5143-adf6-e39d5cb46aa2</RequestId>
</ErrorResponse>
Run Code Online (Sandbox Code Playgroud)
我已将其AWS ACCESS and SECRET keys保存在环境变量中,并且它们是正确的。
这里可能有什么问题?我需要将我的添加KEYS到请求中吗?
有没有一种方法可以在本地 IBM MQ 与 AWS SQS/API Gateway 之间进行集成。我检查了很多链接,但发现我们可以将整个 IBM MQ 迁移到 AWS MQ,但无法从 AWS 调用到本地MQ。如果有人尝试过这种集成,请提出建议。
我正在尝试使用 localstack 与 SQS 进行开发。
我正在关注这篇博客文章,但无论我尝试什么,我总是收到错误:
使用未知操作调用 sqs 时出现异常:操作检测失败。查询协议服务 ServiceModel(sqs) 请求中缺少操作。
这就是我创建 SqsClient 的方式:
SqsClientBuilder builder = SqsClient.builder();
builder.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("test", "test")));
builder.endpointOverride(new URI("http://localhost:4566"));
builder.region(Region.of("us-west-2"));
return builder.build();
Run Code Online (Sandbox Code Playgroud)
然后是任何 Sqs 操作,例如创建队列:
sqsClient.createQueue(CreateQueueRequest.builder()
.queueName("test2")
.build());
Run Code Online (Sandbox Code Playgroud)
日志:
software.amazon.awssdk.request : Retrying Request: DefaultSdkHttpFullRequest(httpMethod=POST, protocol=http, host=localhost, port=4566, encodedPath=/, headers=[amz-sdk-invocation-id, Content-Length, Content-Type, User-Agent, X-Amz-Target], queryParameters=[])
org.apache.http.wire : http-outgoing-3 >> "POST / HTTP/1.1[\r][\n]"
org.apache.http.wire : http-outgoing-3 >> "Host: localhost:4566[\r][\n]"
org.apache.http.wire : http-outgoing-3 >> "amz-sdk-invocation-id: 3f223a7a-773b-d41f-388a-b222efb26e25[\r][\n]"
org.apache.http.wire : http-outgoing-3 >> "amz-sdk-request: attempt=4; max=4[\r][\n]"
org.apache.http.wire : …Run Code Online (Sandbox Code Playgroud) java amazon-sqs amazon-web-services aws-java-sdk-2.x localstack
amazon-sqs ×6
amazon-sns ×1
amazon-swf ×1
get ×1
http ×1
ibm-mq ×1
java ×1
localstack ×1
postman ×1
rabbitmq ×1
redis ×1