Смещение CONSUME_FROM_LAST неэффективно
Я изменил свою группу потребления и начал потреблять, она потребляется из последнего смещения по умолчанию, это правильно.
Но когда я перезапускаю этого потребителя, он использует сообщение истории, почему он не использует сообщение истории при первом запуске, а во второй раз.
И смещения брокеров от 3000 до 4000.
1 ответ
CONSUME_FROM_LAST_OFFSET
действует только на новую группу потребителей.
Таким образом, при первом перезапуске вы меняете свою группу потребления (скажем, с CG-A на CG-B), чтобы она была новой группой потребления, тогда она будет потреблять с последнего смещения, как вы ожидали.
Для второй попытки, после долгого отключения в автономном режиме, вы перезапускаете свой экземпляр с тем же GC-B потребления, который запомнил rocketmq из смещенного брокера, который на самом деле работает по проекту.
Так что для сценария, в котором вы хотите пропустить сообщение истории, но использовать только последнее смещение, вы можете
- Измените свою группу потребителей на новую с
CONSUME_FROM_LAST_OFFSET
- Продолжайте использовать свою группу потребления, но перед перезапуском своего экземпляра сбросьте смещение потребления группы потребления до последнего смещения.