繁体   English   中英

如何使用监听服务实现发布/订阅谷歌

[英]How implement pub/sub google with listen serve

问题是当我需要从 google 获取 pub/sub 消息并同时运行 rest api 时

err = client.Subscription("my-sub").Receive(ctx, func(ctx context.Context, msg *pubsub.Message) {

    var data Data
    json.Unmarshal(msg.Data, &data)
    msg.Ack()
})
log.Printf("connect to http://localhost:%s/ for api Rest", port)
log.Fatal(http.ListenAndServe(":"+port, nil))

“回调由多个 goroutine 同时调用,最大限度地提高吞吐量。要终止对 Receive 的调用,请取消其上下文。” - 来自https://pkg.go.dev/cloud.google.com/go/pubsub?tab=doc

听起来您想要一个 REST API,它为客户端提供请求先前收到的 Pub/Sub 消息(msg.Data)的能力

“包 http 提供 HTTP 客户端和服务器实现。” - 来自https://pkg.go.dev/net/http?tab=doc#example-Handle

您需要存储或缓存从 Pub/Sub 收到的 msg,以便在它们发出 HTTP 请求时可以将它们发送到您的 HTTP 客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM