gpt4 book ai didi

google-cloud-platform - Google Pub/Sub 每 ~5 条消息只发送一个订阅

转载 作者:行者123 更新时间:2023-12-05 08:14:31 24 4
gpt4 key购买 nike

我已将 3 个客户端和一个发布者连接到一个订阅。在图像中,2 个订阅在终端上,一个订阅看不到,因为它托管在 DigitalOcean Droplet 上。似乎每 5 条消息,它就会切换哪个订阅者实际接收到消息,这是不应该发生的。我还改变了速度,它总是大约 5 条消息。

以下是用于所有订阅客户端的代码:

sub.on("message", (msg) => {
console.log(`Message:1 ${msg.data.toString("utf-8")}`)
msg.ack()
})

发布代码如下:

console.log("send")
topic.publish(Buffer.from("hey"), {
channelId: "641273551806267403"
})

enter image description here

最佳答案

在 Cloud Pub/Sub 中,订阅是一个逻辑实体,它希望将所有消息发布到与订阅关联的主题。订阅者是代表订阅接收消息的客户端。当有多个订阅者接收单个订阅的消息时,每个订阅者都会接收消息的子集。这是负载平衡的情况,其中使用多个订阅者来大规模处理消息;如果需要支持更多消息,只需让更多订阅者接收来自同一订阅的消息。

当一个主题有多个订阅时,每条消息都必须发送给代表每个订阅接收消息的订阅者。这是扇出用例。

这是一张图,试图让它更清楚一点。左边是负载均衡,右边是扇出:

load balancing and fan out

关于google-cloud-platform - Google Pub/Sub 每 ~5 条消息只发送一个订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58734968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com