0% encontró este documento útil (0 votos)
53 vistas27 páginas

Rust Con Kafka Grupo C

Este documento describe Rust y Kafka. Rust es un lenguaje de programación compilado, seguro y eficiente desarrollado por Mozilla. Kafka es una plataforma para transmitir datos de forma distribuida que permite publicar, almacenar y procesar flujos de datos. El documento también explica cómo Rust puede usarse para interactuar con Kafka de forma asíncrona.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas27 páginas

Rust Con Kafka Grupo C

Este documento describe Rust y Kafka. Rust es un lenguaje de programación compilado, seguro y eficiente desarrollado por Mozilla. Kafka es una plataforma para transmitir datos de forma distribuida que permite publicar, almacenar y procesar flujos de datos. El documento también explica cómo Rust puede usarse para interactuar con Kafka de forma asíncrona.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

RUST CON KAFKA

Grupo C
RUST
“A language empowering
everyone to build reliable and
efficient software.”
Rust es un lenguaje de
programación compilado, de
propósito general y multiparadigma
que está siendo desarrollado por
Mozilla. Ha sido diseñado para ser
"un lenguaje seguro, concurrente y
práctico".
CARACTERÍSTICAS
Multiparadigmático

Concurrente
Permite expresar el paralelismo
entre tareas y resolver los
problemas de comunicación y
sincronización entre procesos
Multiplataforma
Puede ser ejecutado en diferentes
sistemas operativos y dispositivos.

Compilado
La compilación convierte el código
que escribimos a lenguaje de
máquina. Un lenguaje compilado es
más rápido que uno interpretado.
VENTAJAS

Productividad Rendimiento
Documentación, Rust es rápido como el
gestor de paquetes, y rayo y eficiente con la
herramientas. memoria

Fiabilidad
Se garantiza seguridad
de memoria y
seguridad de hilos
DESVENTAJAS

Complejidad madurez
● Invertir tiempo ● Lenguaje joven
● requiere dedicación ● Considerar riesgos
● esfuerzo

Tiempo de compilación
● Relativamente lento
INSTALACIÓN
INSTALACIÓN
● Ir al sitio oficial
○ https://www.rust-lang.org/tools/install
● Copiar comando de instalación
○ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
● Ejecutar en consola
INSTALACIÓN
Proceso de instalación
● Crea archivo .rustup
● Crea archivo cargo y enlaza bin
● Programas de instalación
○ cargo
○ rustc
○ Rustup
● Añade el PATH en nuestro programa
INSTALACIÓN
Tipos de instalación
● Instalación por defecto
● Instalación personalizada
● Cancelar

Comprobar la instalación correcta


● rust -- version
● cargo - - version
● rustup - - version
¿QUÉ PUEDE
LOGRAR RUST?
HELLO WORLD!
KAFKA
Apache Kafka es una plataforma
distribuida de transmisión de datos que
permite publicar, almacenar y procesar
flujos de registros, así como suscribirse a
ellos, de forma inmediata, puede
administrar los flujos de datos de varias
fuentes y distribuirlos a diversos usuarios.

Apache Kafka
Arquitectura
Brokers
Son particiones de un log se
distribuyen sobre los servidores
del clúster de Kafka

Topic
Es el equivalente a tablas en
otros softwares, y es donde los
registros se van a publicar
Productor
Es quien publican datos a temas
(topic) de su elección y es el
responsable de escoger la partición
adecuada para el registro que va a
escribir

Consumidores
Son procesos separados o
máquinas distintas agrupadas
bajo el concepto de grupos de
consumidores en el que cada
registro publicado en un tema será
entregado a un consumidor
dentro del grupo de consumidores
suscrito al ítem
APIs principales
Producer Consumer
Permite a las aplicaciones Permite a las aplicaciones
publicar un stream de suscribirse a uno o más topics
registros a uno o varios topics y procesar el stream de
registros producido para él

Streams Connector
Permite a las aplicaciones Permite la construcción y el
actuar como un procesador de funcionamiento de
streams, consumir un stream productores o consumidores
de entrada, procesarlo y reutilizables que conectan
producir un stream de salida topics con aplicaciones
para uno o varios topics existentes o sistemas
VENTAJAS
● Permite desacoplar aplicaciones entre sí (útil en
arquitecturas de microservicios)
● Sistema escalable horizontalmente, tolerante a fallos y
con baja latencia (Big Data)
● Absorción de picos de carga que pueden ocurrir en el
sistema
● Permite construir aplicaciones que reaccionan a
eventos en tiempo real
● Garantías de entrega de mensajes exactly-once
(exactamente una vez)
DESVENTAJAS

● Kafka no es una tecnología que esté diseñada para


manejar mensajes muy grandes (+ 1MB)
● Pocas opciones de monitorización potentes
● Opciones en Stream processing más limitadas que
otras opciones como Apache Flink
● Operaciones de rebalanceo de datos en particiones a
veces necesarias, lo que impacta en el rendimiento del
sistema
IMPLEMENTACIÓN
RUST Y
KAFKA
¿POR QUÉ?
Comunicación asíncrona
EJEMPLO
PRÁCTICO

También podría gustarte