🔥🔥🔥🔥
Este es un ejemplo de aplicación diseñado para ilustrar varios conceptos relacionados con contenedores. Presenta una aplicación e-commerce que incluye un catálogo de productos, un carrito de compras y un proceso de pago.
Ofrece:
- Una arquitectura de componentes distribuidos en varios lenguajes y frameworks.
- Utilización de diversos backends de persistencia para diferentes componentes, como MySQL, DynamoDB y Redis.
- La capacidad de ejecutarse en varias tecnologías de orquestación de contenedores como Docker Compose, Kubernetes, etc.
- Imágenes preconstruidas de contenedores para arquitecturas de CPU x86-64 y ARM64.
- Todos los componentes instrumentados para métricas de Prometheus y trazado OpenTelemetry OTLP.
- Soporte para Istio en Kubernetes.
- Generador de carga que ejercita toda la infraestructura.
Este proyecto está destinado únicamente con fines educativos y no para uso en producción.
La aplicación ha sido deliberadamente sobreingenierizada para generar múltiples componentes desacoplados. Estos componentes generalmente tienen diferentes dependencias de infraestructura y pueden admitir varios "backends" (por ejemplo: el servicio de Carritos admite MongoDB o DynamoDB).
.
├── README.md
├── docker-compose.yml
├── docs
│ └── images
└── src
├── assets
├── cart
├── catalog
├── checkout
├── orders
└── ui
Este método de implementación se ejecutará en la máquina local/server utilizando docker-compose y construirá los contenedores como parte de la implementación.
Requisitos previos:
- Docker instalado localmente
-
Docker Compose:
docker-compose up -d --build
-
Abre el frontend en una ventana del navegador:
-
Para detener los contenedores en docker-compose, utiliza Ctrl+C. Para eliminar todos los contenedores y recursos relacionados, ejecuta:
docker compose down
Si estás planeando usar este repositorio para aprender, por favor dale una estrella. ¡Gracias!
Recuerda documentar los pasos y decisiones tomadas durante la configuraciónde este proyecto ¡Buena suerte!