Lanzado Apache Kafka 3.0.0

El equipo de la Fundación Apache ha anunciado el lanzamiento de Apache Kafka 3.0 en nombre de la comunidad de Apache Kafka. Apache Kafka 3.0 es una versión importante en más de un sentido.

Apache Kafka 3.0 presenta una variedad de características nuevas, cambios de API importantes y mejoras en KRaft, el mecanismo de consenso integrado de Apache Kafka que reemplazará a Apache ZooKeeper.

A partir de Apache Kafka 3.0, Producer habilita las garantías de entrega más sólidas de forma predeterminada. Eso significa que los usuarios obtienen pedidos y durabilidad de forma predeterminada.

Además, no se pierda las mejoras de reinicio de tareas de Kafka Connect, las mejoras de Kafka Streams en la sincronización basada en marcas de tiempo y las opciones de configuración más flexibles de MirrorMaker2.

Para revisar la lista completa de funciones y mejoras, asegúrate de leer las notas de la versión.

¿Qué es Apache Kafka?

Apache Kafka es una implementación de marco de un bus de software que utiliza procesamiento de flujo. Una plataforma de software de código abierto desarrollada por la Fundación Apache escrita en Scala y Java.

Historia de Apache Kafka

Kafka se desarrolló originalmente en LinkedIn y posteriormente, fue de código abierto a principios de 2011.

Jay Kreps, Neha Narkhede y Jun Rao ayudaron a co-crear Kafka, quien luego abandonó LinkedIn para construir Confluent.

Jay Kreps eligió nombrar el software en honor al autor Franz Kafka porque es “un sistema optimizado para la escritura” y le gustó el trabajo de Kafka.

¿Qué aplicaciones tiene Apache Kafka?

Apache Kafka se basa en el registro de confirmación y permite a los usuarios suscribirse y publicar datos en cualquier número de sistemas o aplicaciones en tiempo real.

Las aplicaciones de ejemplo incluyen administrar la coincidencia de pasajeros y conductores en Uber, proporcionar análisis en tiempo real y mantenimiento predictivo para el hogar inteligente de British Gas y realizar numerosos servicios en tiempo real en todo LinkedIn.

¿Cómo es la arquitectura de Apache Kafka?

Kafka almacena mensajes de valor-clave que provienen arbitrariamente de muchos procesos llamados productores. Los datos se pueden dividir en diferentes “particiones” dentro de diferentes “temas”.

Dentro de una partición, los mensajes se ordenan estrictamente por sus compensaciones (la posición de un mensaje dentro de una partición) y se indexan y almacenan junto con una marca de tiempo. Otros procesos llamados “consumidores” pueden leer mensajes de particiones.

Para el procesamiento de transmisiones, Kafka ofrece la API de transmisiones que permite escribir aplicaciones Java que consumen datos de Kafka y escriben los resultados en Kafka.

Apache Kafka también funciona con sistemas de procesamiento de flujo externos como Apache Apex, Apache Flink o Apache Spark.

Kafka se ejecuta en un clúster de uno o más servidores (llamados intermediarios) y las particiones de todos los temas se distribuyen entre los nodos del clúster. Además, las particiones se replican en varios agentes.

Esta arquitectura permite a Kafka entregar flujos masivos de mensajes de manera tolerante a fallas y le ha permitido reemplazar algunos de los sistemas de mensajería convencionales como Java Message Service (JMS), Advanced Message Queue Server Protocol (AMQP), etc.

Desde la versión 0.11. 0.0 Kafka ofrece escrituras transaccionales que proporcionan procesamiento de flujo exactamente una vez utilizando la API de Streams.

APIs existentes dentro de Apache Kafka

Existen cinco API principales en Kafka:

  • API de Producción: Que permite que una aplicación publique flujos de registros.
  • API de Consumidor: Que permite que una aplicación se suscriba a temas y procese flujos de registros.
  • API de Conector: Que ejecuta las API de consumidor y productor reutilizables que pueden vincular los temas a las aplicaciones existentes.
  • API de Transmisiones: Esta API convierte las transmisiones de entrada en salida y produce el resultado.
  • API de Administración: Se utiliza para gestionar temas de Kafka, agentes y otros objetos de Kafka.

Las API de consumidor y productor se basan en el protocolo de mensajería de Kafka y ofrecen una implementación de referencia para los clientes consumidores y productores de Kafka en Java.

El protocolo de mensajería subyacente es un protocolo binario que los desarrolladores pueden utilizar para escribir sus propios clientes consumidores o productores en cualquier lenguaje de programación. Esto desbloquea a Kafka del ecosistema Java Virtual Machine (JVM).

En la wiki de Apache Kafka se mantiene una lista de clientes disponibles que no son de Java.


Artículos Relacionados

Relacionado

21 Mejores Frameworks de Java

Si recién comienzas a programar con Java, puedes oje la guía para principiantes sobre Java que te guiará a través de todos los conceptos más importantes de Java que necesitas conocer, si pronto quieres comenzar a utilizar cualquier de los frameworks Java. Java es un lenguaje robusto y combinado con un framework Java, puede proporcionar las mejores soluciones para cualquier campo tecnológico, ya bien sea; un ¡SEGUIR LEYENDO!

15 Mejores Lenguajes de Programación que Aprender

Una de las habilidades más importantes para aprender en el mundo de hoy en día, es saber programar con un lenguaje de programación. En la actualidad, las computadoras han entrado en casi todas las industrias, desde el piloto automático de un avión hasta el velocímetro digital de una bicicleta pasando por la inclusión del Internet de las cosas en los pequeños electrodomésticos. Casi todo lo que ¡SEGUIR LEYENDO!

17 Nuevos Cursos Gratuitos de SQL, Python, Diseño Web y Más (06 de Marzo)

Regreso con nuevos cursos gratis, recuerda que algunos de los cupones de los cursos publicados ayer, es muy posible que aún sigan activos; y vas a poder encontrar cursos en español de javascript -typescript, react,vue- y Unity. Además, de cursos en inglés de Python, R, SQL y más; también tienes muchos cursos totalmente gratis y una gran oferta de guías para programación de O´Reilly (en inglés) ¡SEGUIR LEYENDO!

25 Mejores aplicaciones Java jamás programadas

La historia de Java comenzó en 1991, en un momento en que Sun Microsystems buscaba extender su liderazgo en el mercado de estaciones de trabajo informáticas al floreciente mercado de la electrónica personal. Poco se sabía, de que el lenguaje de programación que Sun estaba a punto de crear democratizaría la informática, inspiraría a una comunidad mundial y se convertiría en la plataforma para un ecosistema ¡SEGUIR LEYENDO!

25 Mejores cursos de Udemy 2020 [EN]

Más de 20 expertos han compilado esta lista de los mejores cursos, certificados, tutoriales, capacitación y clases de Udemy disponibles en línea para 2020. Estos incluyen las mejores ofertas y descuentos para brindarte los mejores precios en oferta. Los cursos son adecuados para principiantes, estudiantes intermedios y expertos. Esta compilación ya ha ayudado a más de 72.000 estudiantes y se actualiza cada poco tiempo. Consulta nuestra ¡SEGUIR LEYENDO!

26 Nuevos Cursos GRATIS de Udemy: Python, Javascript, Flutter (cupón finalizado)

26 Nuevos cursos con cupones free de Udemy: En español (typescript,javascript, react, vue y videojuegos) e ingles (Python, Django, Javascript, R, SQL, Flutter, Java, Qt, Bootstrap, Illustrator y Photoshop). Cursos en Español ? Curso Gratis de Udemy: Aprende JavaScript y Jquery de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Typescript de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Vue + ¡SEGUIR LEYENDO!

40 Cursos Gratis de Udemy: Desarrollo Web, Python (cupón finalizado)

Recién llega la primavera y vamos con una publicación más, que incluye los cursos del Lunes; hoy tenemos, 9 cursos en español (Typescript, Javascript, React, Vue, Firebase, Swift, Azure, HTML y CSS, Power Bi). Más 31 cursos en inglés: Javascript, Typescript, React, Python, R, Java, Drupal, Android y Kotlin, Básicos de Visual Studio Code, Bootstrap, Gitlab, Maya 3D, Photoshop, Marketing en Facebook e Instagram, SEO. Iniciación ¡SEGUIR LEYENDO!