Skip to main content
AI EducademyAIEducademy
🌳

Fundamentos de IA

🌱
AI Seeds

Alfabetización en IA para el mundo real

🌿
AI Sprouts

Las bases detrás de los sistemas inteligentes

🌳
AI Branches

Construya con las capacidades de IA actuales

🏕️
AI Canopy

Diseñar sistemas GenAI confiables

🌲
AI Forest

Envíe productos de IA de forma responsable

🔨

Maestría en IA

✏️
AI Sketch

Fundamentos de ingeniería para creadores de IA

🪨
AI Chisel

Patrones para resolver problemas más difíciles.

⚒️
AI Craft

Diseñar sistemas que escalen la IA

💎
AI Polish

Comunicarse y liderar en la era de la IA

🏆
AI Masterpiece

Su piedra angular de la IA de producción

🚀

Preparación Profesional

🚀
Plataforma de Entrevistas

Navegue por el mercado laboral de ingeniería de IA

🌟
Dominio Conductual

Cuente la historia de cómo crea impacto

💻
Entrevistas Técnicas

Resolver, diseñar y comunicar bajo presión.

🤖
Entrevistas de IA y ML

Prepárese para las entrevistas modernas ML y GenAI

🏆
Oferta y Más Allá

Haga un próximo paso informado y con confianza

Ver Todos los Programas→

laboratorio

7 experimentos cargados
🧠Playground de Red Neuronal🤖¿IA o Humano?💬Laboratorio de Prompts🎨Generador de Imágenes😊Analizador de Sentimiento💡Constructor de Chatbots⚖️Simulador de Ética
🎯Entrevista simuladaEntrar al Laboratorio→
ViajeBlog
🎯
Acerca de

Hacer la educación en IA accesible para todos, en todas partes

❓
Preguntas frecuentes

Preguntas frecuentes resueltas

🧰
Herramientas de IA

Herramientas seleccionadas que usamos y recomendamos

✉️
Contacto

Ponte en contacto con nosotros

⭐
Codigo abierto

Construido de forma abierta en GitHub

Precios
Empezar
AI EducademyAIEducademy

© 2026 AI Educademy. Todos los derechos reservados.

Aprender

  • Programas
  • Lecciones
  • Laboratorio
  • Kit de inicio de IA
  • Precios

Comunidad

  • GitHub
  • Contribuir
  • Código de Conducta
  • Acerca de
  • Preguntas Frecuentes

Soporte

  • Invítame a un Café ☕
  • Términos de Servicio
  • Política de Privacidad
  • Contacto
  • Sitemap
Programas de IA e Ingeniería›⚒️ AI Craft›Lecciones›Fundamentos del diseño de sistemas: los componentes básicos de los sistemas escalables
🏗️
AI Craft • Avanzado⏱️ 20 min de lectura

Fundamentos del diseño de sistemas: los componentes básicos de los sistemas escalables

🤖

Esta lección se tradujo automáticamente al español y aún no ha sido revisada por una persona. Si algo suena raro, la versión en inglés es la definitiva.

Por qué es importante el diseño del sistema

Cada aplicación a gran escala se ensambla a partir de los mismos componentes fundamentales. Los entrevistadores no esperan que usted invente nueva tecnología: quieren verlo seleccionar y combinar los componentes correctos para un problema determinado. Esta lección cubre el conjunto de herramientas que utilizará en cada entrevista de diseño.

Arquitectura cliente-servidor

En esencia, la web sigue un modelo simple: los clientes envían solicitudes, los servidores las procesan y las respuestas fluyen de regreso. Pero los sistemas modernos agregan capas entre estos dos puntos finales para manejar la escala, la confiabilidad y el rendimiento.

Una solicitud típica podría atravesar: cliente → CDN → balanceador de carga → puerta de enlace API → servidor de aplicaciones → caché → base de datos. Cada capa resuelve un problema específico, y comprender cuándo cada capa es necesaria separa a los candidatos fuertes de los promedio.

💡

En las entrevistas, comience siempre esbozando el flujo cliente-servidor de alto nivel antes de profundizar en los detalles. Muestra pensamiento estructurado.

Equilibradores de carga: distribución del tráfico

Un único servidor tiene una capacidad finita. Los equilibradores de carga distribuyen las solicitudes entrantes entre varios servidores mediante estrategias como:

  • Round-robin: las solicitudes pasan por los servidores de forma secuencial
  • Menos conexiones: rutas al servidor que maneja la menor cantidad de solicitudes activas
  • Hashing consistente: asigna solicitudes a servidores específicos según una clave (útil para el almacenamiento en caché)

Los balanceadores de carga también realizan verificaciones de estado, eliminando automáticamente los servidores en mal estado del grupo. En entornos de nube, servicios como AWS ALB o Azure Front Door manejan esto de forma transparente.

🧠Verificación Rápida

Un servicio de alimentación de redes sociales recibe 10 veces más lecturas que escrituras. ¿Qué enfoque de equilibrio de carga garantiza mejor que los usuarios accedan constantemente al mismo servidor con caché?

Lección 1 de 100% completado
←Volver al programa
Continuar: Diseñe un acortador de URL: su primera entrevista de diseño de sistema→

Debate

Inicia sesión para unirte al debate

Sugerir una edición a esta lección

Almacenamiento en caché: velocidad en cada capa

El almacenamiento en caché almacena los datos a los que se accede con frecuencia más cerca del consumidor. Existe en múltiples niveles:

| Capa | Ejemplo | Latencia | |-------|---------|---------| | Caché del navegador | Activos estáticos, respuestas API | ~0ms | | CDN | Imágenes, archivos CSS, JS | ~10-50ms | | Caché de aplicaciones | Redis, Memcached | ~1-5ms | | Caché de base de datos | Caché de resultados de consulta | ~5-10ms |

La invalidación de la caché es famosa por ser uno de los problemas más difíciles en informática. Las estrategias comunes incluyen TTL (tiempo de vida), escritura directa (actualizar el caché en cada escritura) y caché aparte (la aplicación administra el caché explícitamente).

🤯

La famosa cita de Phil Karlton - "Sólo hay dos cosas difíciles en Ciencias de la Computación: invalidación de caché y nombrar cosas" - es tan citada que es prácticamente un rito de iniciación en las entrevistas de diseño de sistemas.

Bases de datos: SQL vs NoSQL

Elegir la base de datos adecuada es una de las decisiones de diseño más impactantes:

Las bases de datos SQL (PostgreSQL, MySQL) ofrecen transacciones ACID, gran coherencia y esquemas estructurados. Sobresalen cuando los datos tienen relaciones claras y se necesitan consultas complejas con combinaciones.

Las bases de datos NoSQL vienen en varios tipos:

  • Almacenes de documentos (MongoDB): esquemas flexibles, ideales para estructuras de datos variadas
  • Almacenamiento clave-valor (DynamoDB, Redis): búsquedas increíblemente rápidas por clave
  • Almacenamiento de columnas anchas (Cassandra): rendimiento de escritura masivo, distribuido por diseño
  • Bases de datos gráficas (Neo4j): datos con muchas relaciones, como redes sociales
🧠Verificación Rápida

Está diseñando un sistema que almacena perfiles de usuario con datos semiestructurados que cambian con frecuencia (diferentes campos por tipo de usuario). ¿Qué tipo de base de datos es el más adecuado?

Colas de mensajes: procesamiento asíncrono

No todas las operaciones necesitan una respuesta inmediata. Las colas de mensajes (RabbitMQ, Apache Kafka, AWS SQS) desacoplan a los productores de los consumidores, lo que permite:

  • Procesamiento asincrónico: envíe un correo electrónico después de registrarse sin bloquear la respuesta
  • Nivelación de carga: absorbe los picos de tráfico almacenando en búfer las solicitudes
  • Tolerancia a fallos: si un consumidor falla, los mensajes esperan en la cola

Kafka merece una mención especial: no es solo una cola sino un registro de eventos distribuido, que permite arquitecturas basadas en eventos donde varios consumidores pueden procesar de forma independiente el mismo flujo de eventos.

Diagrama de arquitectura que muestra el cliente, el equilibrador de carga, los servidores de aplicaciones, la capa de caché, la base de datos y la cola de mensajes.
Los componentes fundamentales de un sistema escalable: cada capa aborda una preocupación específica.

Microservicios vs Monolito

| Aspecto | Monolito | Microservicios | |--------|----------|---------------| | Implementación | Unidad única | Servicios independientes | | Escalado | Escalar todo junto | Escalar servicios individuales | | Complejidad | Más sencillo de empezar | Gastos operativos | | Datos | Base de datos compartida | Base de datos por servicio |

Inicie monolito, extraiga microservicios cuando sea necesario. La mayoría de los entrevistadores aprecian a los candidatos que reconocen que los microservicios introducen complejidad en el sistema distribuido (fallas de red, coherencia de datos, orquestación de implementación) y no siempre son la opción correcta.

🤔
Think about it:

Netflix migró de un monolito a microservicios a lo largo de varios años. Pero Shopify, que maneja miles de millones en transacciones, todavía ejecuta un monolito modular. ¿Qué factores podrían hacer que un enfoque sea mejor que el otro para una empresa determinada?

Teorema CAP simplificado

El teorema CAP establece que un sistema distribuido puede garantizar sólo dos de tres propiedades simultáneamente:

  • Consistencia: cada lectura devuelve la escritura más reciente
  • Disponibilidad: cada solicitud recibe una respuesta
  • Tolerancia de partición: el sistema continúa funcionando a pesar de las fallas de la red

Dado que las particiones de red son inevitables en los sistemas distribuidos, la verdadera elección es entre CP (coherencia sobre disponibilidad) y AP (disponibilidad sobre coherencia).

  • Sistemas CP (por ejemplo, HBase, MongoDB con lecturas mayoritarias): devuelve errores en lugar de datos obsoletos
  • Sistemas AP (p. ej., Cassandra, DynamoDB): siempre responden, pero los datos pueden estar ligeramente obsoletos
🧠Verificación Rápida

Estás diseñando un sistema de transacciones bancarias donde los saldos incorrectos podrían causar pérdidas financieras. ¿Qué compensación de la PAC debería priorizar?

El marco de la entrevista

Cuando ingrese a una entrevista de diseño de sistema, siga esta estructura:

  1. Requisitos: aclarar los requisitos funcionales y no funcionales (5 min)
  2. Diseño de API: defina los puntos finales o interfaces clave (5 min)
  3. Modelo de datos: elija bases de datos y defina esquemas (5 min)
  4. Arquitectura de alto nivel: esboce el sistema utilizando los componentes básicos actuales (10 min)
  5. Inmersiones profundas: escalar cuellos de botella, manejar fallas, optimizar (15 min)
🤔
Think about it:

Piense en un sistema que utiliza a diario: Instagram, Uber o Spotify. ¿Puedes identificar qué componentes básicos de esta lección probablemente utilice? ¿Dónde se ubicaría el balanceador de carga? ¿Qué se almacenaría en caché? ¿Qué tipo de base de datos se ajusta a su modelo de datos?

Conclusiones clave

  • Cada sistema escalable utiliza los mismos componentes básicos: apréndalos una vez y aplíquelos en todas partes.
  • Los balanceadores de carga, las cachés y las colas de mensajes resuelven distintos desafíos de escalamiento.
  • La elección de la base de datos (SQL frente a NoSQL) depende de la forma de los datos, las necesidades de coherencia y los patrones de acceso.
  • El teorema CAP obliga a hacer concesiones: sepa qué lado debería favorecer su sistema
  • Siga el marco de entrevista estructurada: requisitos → API → datos → arquitectura → inmersiones profundas

A continuación: aplicaremos estos fundamentos para diseñar un acortador de URL desde cero.