Google Cloud Pub / Sub和后台功能调用出现问题

我正在为一个项目使用很少的Google云解决方案:

  • Google App引擎(Go 1.11)
  • Google云功能(Go 1.11)
  • Google云发布/订阅(主题名称:工作人员)

我的App Engine项目只是关于将消息发布到“工人”主题。

发布/订阅收到有关“工人”主题的消息时,应触发My Cloud功能。

运行了一些密集的负载测试后,我看到不是我的所有工作程序都被调用。

该测试即将每15秒抛出200条消息,最后达到总共10万条已发布消息(应该是相同数量的函数调用)。

向该主题发送消息没有问题,但是当我查看Google Stackdriver Metrics资源管理器(基于云功能的执行状态的指标)时,我发现缺少某些工作程序调用。

发布消息的App Engine代码:

func PublishMessage(task *models.Task) error {
    if task == nil {
       return errors.New("Empty task")
    }

    pubSubTopic := GetPubSubClient().Topic("workers")
    ctx := context.Background()

    message,err := json.Marshal(task); if err != nil {
        return err
    }

    result := pubSubTopic.Publish(ctx,&pubsub.Message{
        Data: message,})

    id,err := result.Get(ctx)
    if err != nil {
        return err
    }

    log.Printf("Published a message; msg ID: %v\n",id)

    return nil
}

这是我的Google云功能上的代码:

func Run(ctx context.Context,m PubSubMessage) error {

    task := &models.Task{}

    if err := json.Unmarshal(m.Data,task); err != nil {
        return err
    }

    log.Printf(*task.Name)

    return nil
}

编辑1:

这是我部署云功能的方式:

gcloud functions deploy my_worker --runtime go111 --entry-point Run --trigger-topic workers

这是pub / sub的指标浏览器:

Google Cloud Pub / Sub和后台功能调用出现问题

以下是有关云函数调用计数的Metrics资源管理器:

Google Cloud Pub / Sub和后台功能调用出现问题

cb46124994 回答:Google Cloud Pub / Sub和后台功能调用出现问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3134846.html

大家都在问