我正在使用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);