Backend / Cloud-Native Engineer 2024 Arquitectura Distribuida

Linux +
Kubernetes

Sistema distribuido desplegado en GKE con microservicios en Go y Rust, comunicación gRPC, mensajería con Kafka y monitoreo con Prometheus + Grafana.

KubernetesgRPCKafkaRedisGoRustGCPDockerGrafanaPrometheus
8+ Servicios desplegados
HTTP + gRPC + Kafka Protocolos utilizados
HPA (2–5 réplicas por servicio) Escalabilidad
10,000+ eventos (Locust) Datos simulados

Contexto del proyecto

Sistema cloud-native desplegado en Google Kubernetes Engine que implementa una arquitectura de microservicios orientada a eventos. El sistema expone endpoints HTTP (Go/Fiber y Rust/Actix) que enrutan solicitudes hacia servicios backend mediante gRPC (tonic en Rust y gRPC en Go). Cada servicio de disciplina procesa eventos y los publica en Kafka (Strimzi), donde consumidores desacoplados procesan los resultados y los persisten en Redis como métricas agregadas. El sistema incorpora escalabilidad horizontal mediante HPA, balanceo de carga en Kubernetes, y observabilidad completa usando Prometheus y Grafana. Este proyecto integra conceptos de sistemas distribuidos, concurrencia, comunicación eficiente (gRPC), procesamiento asíncrono (Kafka) y monitoreo en tiempo real.

Retos técnicos
  • Arquitectura distribuida desplegada en Kubernetes (GKE) con aislamiento por namespace y múltiples servicios interconectados
  • Comunicación interna eficiente mediante gRPC entre servicios backend (disciplinas deportivas)
  • Diseño event-driven usando Kafka (Strimzi) para desacoplar productores y consumidores
  • Implementación de consumidores en Go que procesan eventos y actualizan métricas agregadas en Redis
  • Escalabilidad automática con Horizontal Pod Autoscaler basado en uso de CPU (35%–40%)
  • Observabilidad completa con Prometheus y dashboards personalizados en Grafana (métricas por facultad y disciplina)
  • Uso combinado de Go (alto rendimiento HTTP/gRPC) y Rust (seguridad y concurrencia) en microservicios
  • Pool de conexiones gRPC con retry logic y keepalive para resiliencia en servicios críticos
Resultados obtenidos
  • Sistema funcional capaz de manejar alto volumen de eventos concurrentes mediante arquitectura desacoplada
  • Validación de patrones cloud-native: microservicios, mensajería asíncrona, escalabilidad automática y observabilidad
  • Integración completa de múltiples tecnologías modernas (Kubernetes, Kafka, Redis, gRPC, Prometheus)
  • Simulación de entorno productivo con monitoreo en tiempo real y generación de métricas de negocio
  • Base sólida para sistemas distribuidos reales orientados a eventos y procesamiento en streaming
Stack tecnológico
Kubernetes (GKE) Go (Fiber + gRPC) Rust (Actix + tonic) Kafka (Strimzi) Redis Prometheus Grafana Docker