我在kubernetes环境中有一个golang微服务项目,它运行多个nsqd-0、nsqd-1、...荚,它们由statefulSet控制,并分组在nsqd服务下。
问题是,当我想要制作一个生产者时,我导入github.com/nsqio/go-nsq并创建p := nsq.NewProducer('nsqd:4150', nsq.NewConfig())
但是连接是粘稠的(持久的),所以所发生的是服务为我提供随机荚的ip入口(比如nsqd-2),所有的流量都会流向它。其他的则完全不使用。
现在,我正在使用可怕的解决办法,每5秒我p.Stop()当前的生产者和重新初始化,以便它连接到不同的吊舱。但如何正常负载平衡呢?有什么云本地的简单方法吗?
发布于 2022-02-17 08:50:35
另一个解决方法是,我们可以根据nsqd的数量初始化n次,并在客户端将循环逻辑放在后面。
https://stackoverflow.com/questions/69374795
复制相似问题