Lanzamiento de la versión estable de Apache Kafka 2.5, primer vistazo a las nuevas características

Lanzamiento de la versión estable de Apache Kafka 2.5, primer vistazo a las nuevas características

Big data de memoria pasada Big data de memoria pasada La
versión estable de Apache Kafka 2.5.0 se lanzó oficialmente el 15 de abril de 2020, hora local de los Estados Unidos. Esta versión incluye una serie de versiones de características importantes. Las características más importantes incluyen:

• Admite TLS 1.3 (actualmente se usa 1.2 de forma predeterminada)
• Kafka Streams DSL admite Co-grupos;
• Kafka Consumer admite reequilibrio incremental (reequilibrio incremental)
• Para comprender mejor el funcionamiento de los operadores, se han introducido nuevos indicadores;
• Apache Zookeeper actualizado a 3.5.7
• Scala 2.11 ya no es compatible
• KIP-500 ha realizado nuevos avances.
Si necesita descargar la última versión de Apache Kafka 2.5.0, puede descargarla aquí. Debido al tiempo y al espacio, el siguiente artículo enumera las características y desarrollos más importantes en esta ocasión.

Actualización del corredor, productor y consumidor de Kafka

KIP-500 ha hecho nuevos progresos

Los usuarios que han utilizado Kafka deben tener en cuenta que la información relacionada con el Broker, el tema y la partición de Kafka se almacena en Apache Zookeeper. Apache Zookeeper es un sistema independiente con su propio almacenamiento independiente. Para el mejor funcionamiento de los clústeres de Kafka, el desarrollo Los lectores deben estar familiarizados con los sistemas Kafka y Zookeeper, lo que aumenta nuestra carga hasta cierto punto. Para reducir la carga para los usuarios, KIP-500 propone trasladar todas las cosas previamente almacenadas en Zookeeper al mantenimiento interno del clúster de Kafka, lo que significa que Kafka puede ejecutarse sin depender de Zookeeper en el futuro.

Apache Kafka 2.5.0 ha hecho nuevos avances en este trabajo. Por ejemplo, KIP-555 ya no necesita solicitar Zookeeper en la herramienta de administrador, y KIP-543 hace que ya no necesite solicitar Zookeeper para configuración dinámica.

KIP-500 es una característica importante y su solución final debe reflejarse en las próximas versiones.

Semántica de Exactamente una vez mejorada

KIP-447: la escalabilidad del productor admite una semántica única y única

Este KIP simplifica la API de las aplicaciones que leen y escriben desde Kafka de manera transaccional. Anteriormente, este caso de uso generalmente requería una instancia de productor separada para cada partición de entrada. Ahora esta restricción se ha eliminado. Esto facilita la creación de una aplicación semántica de una sola vez que consume una gran cantidad de particiones. Para obtener más información, consulte KIP-447.

KIP-360: Mejore la confiabilidad de productores idempotentes / transaccionales

Este KIP resuelve el problema de mantener el estado productor en el corredor, haciendo posibles las garantías de idempotencia. Antes de eso, cuando el registro se truncaba para forzar la retención o se truncaba de la llamada para eliminar el registro, el corredor eliminaba el estado del productor, lo que causaría una excepción UnknownProducerId. Con esta mejora, el corredor conservará el estado de productor hasta que expire. Este KIP también proporciona un método poderoso para que los productores se recuperen de errores accidentales.

Corrientes de Kafka

KIP-150: Agregar Cogroup al DSL

En el pasado, la agregación de varios flujos en un solo flujo puede ser complicado y propenso a errores. Por lo general, necesitamos agrupar y agregar todos los flujos en una tabla y luego realizar múltiples llamadas de combinación externas. El nuevo operador de co-grupo simplifica este proceso, reduce la cantidad de llamadas de almacenamiento estatal y mejora el rendimiento en general. El uso específico es el siguiente:


KTable<K, CG> cogrouped =
  grouped1
    .cogroup(aggregator1)
    .cogroup(grouped2, aggregator2)
    .cogroup(grouped3, aggregator3)
    .aggregate(initializer1, materialized1);

KIP-523: Agregar toTable () al DSL

Interpretar el flujo de eventos como un registro de cambios y materializarlo en una tabla es un método poderoso. KIP-523 introduce la función toTable (), que se puede aplicar a la secuencia y puede materializar el último valor de cada clave. Cabe señalar que cualquier valor nulo (nulo) se interpretará como una eliminación de la clave dada.

KIP-535: Permitir que el almacenamiento estatal proporcione datos desactualizados durante el reequilibrio

Anteriormente, las consultas interactivas (IQ) al almacén estatal fallaban durante el reequilibrio. Esto reduce el tiempo de actividad de las aplicaciones que dependen de la capacidad de consultar la tabla de estado de Kafka Streams. KIP-535 permite que las aplicaciones consulten cualquier copia del almacén de estado y puedan observar qué tan lejos está cada copia detrás de la copia maestra.

Soporte abandonado y desaprobaciones

Hemos eliminado el soporte para Scala 2.11 en Apache Kafka 2.5, y ahora Scala 2.12 y 2.13 son las únicas versiones compatibles.

TLS 1.2 es ahora el protocolo SSL predeterminado, pero TLS 1.0 y 1.1 todavía son compatibles.

参考 : Novedades de Apache Kafka 2.5 :https://www.confluent.io/blog/apache-kafka-2-5-latest-version-updates/

Supongo que te gusta

Origin blog.51cto.com/15127589/2677272
Recomendado
Clasificación