Автоматическое подтверждение потокового сервера NATS с публикацией / подпиской - PullRequest
0 голосов
/ 02 апреля 2019

Я случайно заметил при перезапуске моего демона подписчика NATS, что все сообщения были обработаны снова, несмотря на то, что они были обработаны без ошибок.

publish.go:

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 доставляет все полученные сообщения каждый раз, когда я перезапускаю демон подписчика.

1 Ответ

0 голосов
/ 02 апреля 2019

Я узнал.Это из-за durable: = uuid.NewV4 (). String (), означает, что при каждом перезапуске демона мы получаем новое уникальное имя длительной очереди, поэтому он снова обрабатывает все сообщения.

...