0

我在 kubernetes 环境中有一个 golang 微服务项目,它运行了几个nsqd-0, nsqd-1, ...pod,这些 pod 由其 statefulSet 控制并分组在nsqdservice 下。

问题是当我想制作一个制作人时,我导入github.com/nsqio/go-nsq并创建它p := nsq.NewProducer('nsqd:4150', nsq.NewConfig())

但是连接是粘性的(持久的)所以发生的事情是服务为我提供了随机 pod 的 ip 地址(说它nsqd-2),所有流量都流向它。其他的根本没用

现在我正在使用糟糕的解决方法,每 5 秒我p.Stop()当前的生产者并重新初始化,以便它连接到不同的 pod。但是如何正常负载均衡呢?有什么云原生简单的方法吗?

4

1 回答 1

0

另一种解决方法是我们可以根据 nsqd 的数量初始化 n 次,并将循环逻辑放在客户端后面

于 2022-02-17T08:50:35.237 回答