← Volver a artículos
·10 min de lectura·
#Next.js#PostgreSQL#Redis#Docker#Kubernetes

E-commerce distribuido full-stack: decisiones de arquitectura

Un recorrido por la arquitectura detrás de una plataforma de e-commerce distribuida — desde el modelo de datos hasta el pipeline de despliegue.

Cuando construyes una plataforma de e-commerce que necesita manejar tráfico real, el enfoque de monolito naive se rompe rápidamente. Así es como abordé la arquitectura para un sistema que sirve miles de sesiones concurrentes.

Modelo de datos: PostgreSQL como fuente de verdad

El catálogo de productos, pedidos y cuentas de usuario viven en PostgreSQL. La decisión clave fue usar una columna JSONB para los atributos del producto — esto evita la pesadilla de las migraciones de esquema cuando los merchants tienen estructuras de producto muy diferentes.

sql
CREATE TABLE products (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  merchant_id UUID NOT NULL REFERENCES merchants(id),
  slug TEXT NOT NULL,
  price_cents INTEGER NOT NULL,
  attributes JSONB DEFAULT '{}',
  created_at TIMESTAMPTZ DEFAULT now()
);

CREATE INDEX ON products USING GIN (attributes);

La arquitectura correcta para una plataforma de e-commerce es la más simple que maneja tu tráfico real, no tu tráfico aspiracional.

← Volver a artículos