Kafka 1 становится более терпимым


Apache Kafka теперь доступен в версии 1.0, так как теперь он достаточно стабилен для использования в бизнесе. Новая версия механизма распределенной потоковой передачи более терпима к сбоям дисков, поддерживает Java 9 и имеет лучшие показатели.

Механизм распределенной потоковой передачи данных Apache Kafka наконец-то достиг версии 1.0, что свидетельствует о том, что платформа наконец-то готова для массового бизнеса. Kafka – это брокер сообщений, изначально разработанный в LinkedIn. Затем он был передан Apache и сделан с открытым исходным кодом. Его преимущества в том, что он легкий, масштабируемый и быстрый. В отличие от традиционных брокеров сообщений, которые просто обрабатывают обмен сообщениями и потоками данных между языками, Kafka обеспечивает отказоустойчивые конвейеры публикации и подписки с малой задержкой, высокой пропускной способностью и может обрабатывать потоки событий. Он может публиковать и подписываться на потоки данных, такие как система обмена сообщениями, эффективно обрабатывать потоки данных в реальном времени и безопасно хранить потоки данных в распределенном реплицированном кластере.

Улучшения в новой версии включают улучшения производительности с семантикой «ровно один раз», значительно более быстрые реализации TLS и CRC32C с поддержкой Java 9, значительно более быстрое контролируемое завершение работы и лучшую поддержку JBOD.

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

Еще одно улучшение в новой версии – Streams API. Kafka Streams – это клиентская библиотека для создания приложений и микросервисов, где входные и выходные данные хранятся в кластерах Kafka. API построителя для потоков был улучшен, чтобы скрыть внутренние методы; и был добавлен новый API для отображения состояния активных задач во время выполнения. Также есть новый API cogroup, который можно использовать для работы с секционированными агрегатами с меньшим количеством StateStores и меньшим количеством движущихся частей в вашем коде.

Еще одно улучшение – способность Kafka лучше переносить сбои дисков. До сих пор конфигурации хранилища JBOD (Just a Bunch Of Disks) не рекомендовались, поэтому вместо этого требовался RAID. В этом выпуске Kafka будет лучше обрабатывать сбои дисков, поэтому отказ одного диска в брокере JBOD не приведет к отключению всего брокера. Вместо этого посредник продолжит обслуживание любых файлов журналов, оставшихся на работающих дисках.


Добавить комментарий