Ситуация:
Это утверждение противоречит основам работы Kafka! Данные в Kafka не исчезают, даже если их читает несколько сonsumer-групп или потоков.
❓ В какой момент всё пошло не так?
➡️ С самого начала: подрядчик не понимал базовых принципов работы Kafka, результат — компания потеряла время и деньги на исправление неправильного подхода к вычитке данных.
Прежде, чем работать с Kafka, важно изучить основы, понять, как работают партиции, consumer-группы и потоки, как Kafka хранит данные и обеспечивает их надёжность.
Не нужно изобретать велосипед там, где он давным-давно изобретён. Нужно брать, изучать и делать — тогда и баги будут случаться реже, и ресурсов на них тратить нужно будет меньше.
- Аутсорс-подрядчик разработал consumer, который читал данные из Kafka. Но сделал это своеобразно: чтение шло в один поток из одной партиции.
- Consumer не успевал обрабатывать данные — как следствие, возникали задержки.
- Когда я спросил, почему consumer не читает данные параллельно (например, в несколько потоков или через разные сonsumer-группы), подрядчик развёл руками: «Но ведь данные из Kafka начнут исчезать, если мы будем читать параллельно!»
Это утверждение противоречит основам работы Kafka! Данные в Kafka не исчезают, даже если их читает несколько сonsumer-групп или потоков.
❓ В какой момент всё пошло не так?
➡️ С самого начала: подрядчик не понимал базовых принципов работы Kafka, результат — компания потеряла время и деньги на исправление неправильного подхода к вычитке данных.
Прежде, чем работать с Kafka, важно изучить основы, понять, как работают партиции, consumer-группы и потоки, как Kafka хранит данные и обеспечивает их надёжность.
Не нужно изобретать велосипед там, где он давным-давно изобретён. Нужно брать, изучать и делать — тогда и баги будут случаться реже, и ресурсов на них тратить нужно будет меньше.