#nats.io #nats-streaming-server
#nats.io #nats-streaming-server
Вопрос:
Я случайно заметил, что при перезапуске моего демона подписчика NATS все сообщения обрабатываются снова, несмотря на то, что они были обработаны без ошибок.
опубликовать.перейти:
err := s.conn.Publish(subject, data)
subscriber.go
durable := uuid.NewV4().String()
err = s.conn.QueueSubscribe(
subject,
durable,
handler, // here I just log something
stan.StartWithLastReceived(),
stan.DurableName(durable),
)
Фактически, потоковый сервер NATS доставляет все когда-либо полученные сообщения при каждом перезапуске subscriber daemon.
Ответ №1:
Я узнал. Это из-за durable := uuid.NewV4().String(), означает, что при каждом перезапуске демона мы получаем новое уникальное имя очереди durable, поэтому он снова обрабатывает все сообщения.