有什么方法可以改善AWS SQS中的缓慢发布消息

时间:2020-05-07 14:54:55

标签: java performance amazon-sqs

我正在使用aws-sdk-java-v2 sdk向SQS发送消息。 在我的本地计算机上,发送一条消息将花费1678毫秒。 当我进一步调试4毫秒以创建SQS客户端时,需要1658毫秒从队列名称中获取队列URL,而9毫秒将消息发送至队列。

测试代码:

SQS客户端:

    public SqsAsyncClient getSqsClient() {
    AwsCredentialsProvider credential = StaticCredentialsProvider
            .create(AwsBasicCredentials.create(clientId, clientSecret));
    return SqsAsyncClient.builder()
            .credentialsProvider(credential)
            .region(Region.of(region))
            .build();
}

获取队列网址:

    public String getQueueUrl(String queueName) throws ExecutionException, InterruptedException {
    return getSqsClient()
            .getQueueUrl(GetQueueUrlRequest.builder()
                    .queueName(queueName).build())
            .get()
            .queueUrl();
}

发送消息:

        SendMessageRequest request = SendMessageRequest.builder()
            .queueUrl(queueUrl)
            .messageBody(mapper.toJson(message))
            .build();
    connection.getSqsClient()
        .sendMessage(request);

0 个答案:

没有答案