AWS Web-Socket网关需要很多时间

时间:2019-05-29 12:42:37

标签: amazon-web-services websocket aws-lambda aws-api-gateway

我正在使用AWS Websocket api-gateway。我正在通过aws:execute-api:region:account-id:api-id/stage-name/POST/@connections向连接的客户端发送消息,但是此消息在很长时间内收到。我为什么不建议哪里出问题了???

一件非常例外的事,当我发送消息时,最后一条消息会占用时间。 示例:如果我发送了一条消息,则需要花费很多时间。如果我发送第一条消息,就像我发送第二条消息一样,第一条消息将立即收到给客户,但是现在第二条第二条消息要花费很多时间。所以基本上,当我发送n条消息时,每隔n条消息将在其他人发送n + 1条消息和n + 1条消息时花费很多时间。

非常感谢您的帮助!

这只是我拥有的代码段

import * as AWS from 'aws-sdk';
export class AWSWebsocketGateway {
    websocketInstance;
    constructor() {
        AWS.config.update({
            accessKeyId: <accessKeyId>,
            secretAccessKey: <secretAccessKey>,
            region: <region>
        });
        this.websocketInstance = new AWS.ApiGatewayManagementApi({
            endpoint: <webSocketDomainName> + <webSocketStage>
        });
    }

    sendMessage(connection, messageObject, callback: Function) {

        messageObject = JSON.stringify(messageObject);
        this.websocketInstance.postToConnection({ ConnectionId: connection, Data: JSON.stringify(messageObject) }, function (error, data) {
            console.log('Error', error, 'Send Message...', data);
            return callback(error, data);
        });
    }
}

我在一个查询中从数据库检索连接ID,然后循环调用此函数以发送消息。

0 个答案:

没有答案