Что будет делать Кафка, если продюсер упадет?

Я немного запутался в архитектуре Кафки. Мы хотели бы захватить Twitter Streaming API. Мы наткнулись на этот https://github.com/NFLabs/kafka-twitter/blob/master/src/main/java/com/nflabs/peloton2/kafka/producer/TwitterProducer.java Twitter Producer.

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

Если производитель выйдет из строя, значит ли это, что мы потеряем часть данных? Как предотвратить это?


person toy    schedule 12.01.2016    source источник


Ответы (1)


Если производитель, с которым вы связались, перестанет работать, новые данные из Twitter API не попадут в Kafka. Я не уверен, как работает Twitter Streaming API, но возможно получить исторические данные, что позволит вам вернуть все данные к моменту, когда производитель потерпел неудачу.

Другой вариант — использовать Kafka Connect, распределенную отказоустойчивую службу для подключения источников данных и приемников к Kafka. Connect предоставляет API более высокого уровня и за кулисами использует готовый API производителя/потребителя. В документации Connect очень подробно объясняется, поэтому прочтите ее и приступайте к работе.

person alexlod    schedule 12.01.2016