当我重新启动我的 NATS 订阅者守护程序时,我意外地注意到,所有消息都再次处理,尽管事实上它们已被正确处理。
发布.go:
err := s.conn.Publish(subject, data)
订阅者.go
durable := uuid.NewV4().String()
err = s.conn.QueueSubscribe(
subject,
durable,
handler, // here I just log something
stan.StartWithLastReceived(),
stan.DurableName(durable),
)
事实上,每次我重新启动订阅者守护进程时,NATS 流媒体服务器都会传递曾经收到的所有消息。