#apache-kafka
#apache-kafka
Вопрос:
У меня есть требование отправлять данные из внешней системы в тему Kafka с семантикой ровно один раз. Источник имеет смещение, мы можем использовать сообщения с заданным смещением.
Просматривая документацию Kafka, я вижу, что есть 2 способа сделать это.
- Соединитель источника Kafka
- Используйте обычный Kafka producer с транзакциями.
Похоже, что вариант 1 теперь не поддерживает семантику ровно один раз, Kafka jira 6080 не разрешен. Также я хотел бы понять, как мы можем сделать это напрямую с API-интерфейсами производителя. Для варианта 2 цикл (consume, transform, product) во всех документах показывает фиксацию смещений потребителей с использованием AddOffsetsToTxn. Какова рекомендуемая стратегия, если источник не является темой Kafka? Похоже, что запись исходного смещения в другой теме как части транзакции и использование его во время восстановления будет работать. Это рекомендуемый способ?