【问题标题】:CloudFunctions with Pubsub : long delay to publishCloudFunctions with Pubsub : 发布延迟很长
【发布时间】:2021-08-02 19:20:59
【问题描述】:

我对 Pubsub 有疑问。我有一个功能和一个主题。当我发布该主题时,发布消息需要 2 分钟。这正常吗?

本地不存在此问题(使用 webstrom / Google Cloud SQK for windows)。 本地发布时间:240ms 谷歌云控制台发布时间:2分钟

在我的代码下面:

var topicName = "projects/XXXXXXXXXXXXXX/topics/ps_checkNiveauBacTampon";
const publisher = pubSubClient.topic(topicName, {
    batching: {
        maxMessages: 100,
        maxMilliseconds: 1,
    },
});

exports.helloPubSub = function(event, context) => {
    var jsonPub = {idBassin: 1};
    var payload = Buffer.from(JSON.stringify(jsonPub));

    // Publishes the message as a string, e.g. "Hello, world!" or JSON.stringify(someObject)
    //const dataBuffer = Buffer.from(JSON.stringify(jsonPub));


    try {
        console.log('In try, before publish');
        const messageId = await publisher.publish(payload);
        console.log('In try, after publish');
    } catch (error) {
        console.error(`Received error while publishing: ${error.message}`);
        process.exitCode = 1;
    }
    console.log('After try');
}

谷歌云日志下方:

【问题讨论】:

  • 您在特定地区吗?
  • 我已在此问题中添加了 Cloud Functions 标签,以防此处的问题与 Cloud Functions 相关。 2 分钟的发布时间是不寻常的,尤其是因为您已在批处理设置中将 maxMilliseconds 设置为 1。
  • @guillaumeblaquiere 我在留尼汪岛。云功能在 europe-west1
  • 如果您的 Cloud Function 正在执行任何重要的计算,它可能会受到资源限制。你可以尝试为你的函数使用更高层的 CPU/内存,看看这是否能提高性能?如果没有帮助,请向 Google Cloud 支持提出案例,以便他们可以帮助您处理特定的函数和 Pub/Sub 主题。

标签: node.js google-cloud-platform google-cloud-functions google-cloud-pubsub


【解决方案1】:

发布延迟可能源于 Pub/Sub 或 Cloud Functions 端。

  1. 关于 Pub/Sub,低吞吐量可能会导致 冷缓存 问题。这是因为 Pub/Sub 是为低延迟和高吞吐量而设计的。另一种可能性是存在实施问题。您可以尝试减少maxMessages,看看是否能解决问题。

  2. 关于 Cloud Functions,可能是 Lauren 已经说过的问题。如果函数遇到高 CPU 或 RAM 使用率,可能会导致在 Pub/Sub 上发布主题出现意外延迟。正如您所说,在本地运行时一切正常,也许您使用的是更高的硬件规格。如果是这种情况,您可以尝试增加 CPU 和 RAM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多