Rust Con Kafka Grupo C
Rust Con Kafka Grupo C
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
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