监控和刷新 PubSub 批处理发布者队列
Posted
技术标签:
【中文标题】监控和刷新 PubSub 批处理发布者队列【英文标题】:Monitoring and Flushing a PubSub Batch Publisher Queue 【发布时间】:2018-12-21 07:04:10 【问题描述】:在 Google PubSub 的 Node.js Client 中,是否可以监控 Batch Publisher 队列的大小并按需刷新?
我正在开发一个 Node/Express 服务,它使用 PubSub 批量发布者将应用程序事件推送到 PubSub 主题中。我想为批量发布者的队列大小设置一些指标和警报。另外,当这个服务的一个实例接收到一个 SIGTERM 信号时,我想运行一个关闭程序以确保消息不会丢失。理想情况下,我希望在发生这种情况时刷新发布者队列中的所有消息,但至少我希望能够知道保留哪些消息(如果有的话)。该服务将在 Google App Engine 内部运行,该引擎在 lifecycle events 上有一些文档,但没有特定于 PubSub,至少我已经找到了。
我已通读 PubSub 节点客户端文档和示例,但没有看到任何提及这些功能的内容。我确实注意到 Publisher 对象有一个 publish_ method 来强制发布队列,但它被明确称为私有方法,不能在外部使用,所以我犹豫要不要使用它。
有人有监控和刷新 PubSub 批量发布者队列的经验吗?任何帮助或资源将不胜感激。
【问题讨论】:
【参考方案1】:无法对批处理队列进行更多控制。但是有一个公共功能请求[1] 用于更透明地跟踪(即记录、监控)消息生命周期,我将您的用例添加到请求中。
【讨论】:
以上是关于监控和刷新 PubSub 批处理发布者队列的主要内容,如果未能解决你的问题,请参考以下文章
用于监控谷歌云 pubsub 中未传递消息的 REST API
“处理组件 pubsub 错误:组件 pubsub 的初始化超时超过 5 秒”
GCP PubSub - 使用 orderingKey (Nodejs) 进行批处理