登录
首页 >  Golang >  Go问答

实现 Google Pub/Sub 的方法和流程

来源:stackoverflow

时间:2024-03-07 10:24:25 194浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《实现 Google Pub/Sub 的方法和流程》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

问题是当我需要从谷歌获取发布/订阅消息并同时运行休息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 接收到的消息,以便它们在发出 HTTP 请求时可以发送到您的 HTTP 客户端。

理论要掌握,实操不能落!以上关于《实现 Google Pub/Sub 的方法和流程》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>