Монго изменения метки времени

При отслеживании оплога я вижу метку времени для каждого события. У потоков изменений есть преимущества по сравнению с непосредственным отслеживанием оплога, поэтому я бы хотел их использовать. Тем не менее, я не могу найти способ выяснить, когда произошло изменение. Это было бы проблематично, если бы мой скрипт некоторое время отключался, а затем возобновлялся с использованием токена возобновления.

Есть ли способ получить эту метку времени?

1 ответ

Решение

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

В настоящее время (MongoDB v3.6) нет способа узнать временную метку события, возвращаемого сервером от принимающей стороны. Это связано с тем, что метка времени кластера фактически встроена в токен возобновления в виде двоичного формата.

Существует запрос на добавление инструмента для проверки этого маркера резюме SERVER-32283. Не стесняйтесь следить за обновлениями в билете.

Это было бы проблематично, если бы мой скрипт некоторое время отключался, а затем возобновлялся с использованием токена возобновления.

При возобновлении потоков изменений с помощью токена возобновления, он возобновится с этого момента. Это связано с тем, что токен содержит время кластера, а сервер знает, когда последняя операция "маркер" "увидела".

Вы также сказали down for a while, Потоки изменений основаны на Oplog Set Replica Set, что также означает, что характер возобновляемости потоков изменений ограничен размером окна оплога.

Например, если время последнего кэшированного токена было 24 часа назад, а размер журнала операций - только 12 часов, ваше приложение не сможет использовать токен возобновления потоков изменений. Так как вы сравниваете change streams с tailing the oplog, в этом отношении у обоих была бы та же самая потенциальная проблема.

Если это реальная проблема для вашего варианта использования, пожалуйста, измените размер окна оплога соответственно. т. е. если у клиента-получателя будет потенциальное время простоя, превышающее время окна оплога.

Смотрите также Рекомендации по изменению производственных потоков.

Другие вопросы по тегам