Выпущена новая версия Apache Kafka с новым API Kafka Streams для окон сеансов и улучшенной совместимостью для клиентов Java. Apache Kafka — это распределенная потоковая платформа, которую можно использовать для создания конвейеров потоковой передачи данных в реальном времени между системами или приложениями.
Помимо нового Streams API, другие улучшения в этом выпуске включают улучшенную совместимость для клиентов Java, улучшенную семантику для соединений Kafka Streams и преобразования отдельных сообщений в Kafka Connect.
Первоначально Kafka была разработана в LinkedIn, откуда была взята на вооружение как проект Apache. Это быстрая, масштабируемая, надежная и отказоустойчивая система обмена сообщениями публикация-подписка, которую можно использовать вместо традиционных брокеров сообщений.
Работа в Apache сосредоточена на том, чтобы заставить Kafka работать с продуктами Apache, включая Storm, HBase и Spark, для анализа и визуализации потоковых данных в реальном времени.
Kafka с самого начала разрабатывался как распределенная система, поэтому ее легко масштабировать. Он поддерживает нескольких абонентов и автоматически балансирует потребителей во время сбоя.
Новая версия Kafka теперь имеет четыре основных API. Производственный API позволяет приложению публиковать записи потока в одну или несколько тем Kafka.
Consumer API позволяет приложению подписаться на одну или несколько тем и обрабатывать поток записей, созданных для них.
Connector API может использоваться для создания и запуска повторно используемых производителей или потребителей, которые соединяют темы Kafka с существующими приложениями или системами данных.
Новый Streams API позволяет приложению действовать как потоковый процессор, потребляя входной поток из одной или нескольких тем и создавая выходной поток для одной или нескольких выходных тем, эффективно преобразовывая входные потоки в выходные потоки.