Repositorio del Proyecto Principal: https://github.com/monolito-solutions/project
Este repositorio es parte del proyecto "Entregas de los Alpes", el cual está diseñado para manejar el inventario y las entregas de una empresa ficticia de productos alpinos. Este repositorio principal solo contiene un README, los microservicios actuales se encuentran en sus respectivos repositorios.
El repositorio está organizado en carpetas para cada uno de los microservicios que componen el sistema:
- inbound: servicio encargado de recibir los pedidos del cliente
- inventory: servicio encargado de actualizar los inventarios disponibles
- outbound: servicio encargado de la entrega de los productos
- notifications-ui: servicio encargado de notificar a los clientes sobre el estado de sus pedidos
Cada microservicio se desarrolló en su propio repositorio, por lo tanto puede encontrar los enlaces de los repositorios correspondientes a continuación:
- inbound: https://github.com/monolito-solutions/inbound
- inventory: https://github.com/monolito-solutions/inventory
- outbound: https://github.com/monolito-solutions/outbound
- notifications-ui: https://github.com/monolito-solutions/notifications-ui
- bff: https://github.com/monolito-solutions/bff
- sagas: https://github.com/monolito-solutions/sagas
Para este proyecto, cada integrante del grupo trabajó en un microservicio aparte. Las contribuciones de cada integrante se encuentra en la tabla a continuación:
Nombre | Microservicios | Usuario Github |
---|---|---|
Juan Andrés Romero | Inbound, BFF, Sagas | ElReyZero |
Andrés López | Inventory | alnodp |
Juan Sebastián Alegría | Notifications UI, Sagas | zejiran |
Johan Carvajal | Outbound | johanCarvajalAndes |
- Explicación completa (Es el mismo video):
- Tutorial de cómo correr el proyecto en un único ambiente (único servidor): https://youtu.be/1AatCaZghes
- Video Completo:
El proyecto "Entregas de los Alpes" utiliza Apache Pulsar como sistema de mensajería y bases de datos descentralizadas y únicas para cada microservicio. Estos se despliegan con Docker Compose en sus respectivos servidores.
Se sugiere clonar los repositorios de los microservicios individualmente y trabajar en ellos de forma independiente en sus respectivos servidores.
Por lo tanto, es importante tener en cuenta que los microservicios no se despliegan en Docker y deben iniciarse individualmente con el comando python main.py
en su respectiva carpeta.
Los archivos con la configuración de la base de datos y apache pulsar en cada microservicio son los siguientes:
- Pulsar:
[servicio]/config/utils.py
- MySQL:
[servicio]/config/db.py
Si desea desplegar cada microservicio en un servidor diferente, puede hacerlo siguiendo los siguientes pasos:
- Clonar el repositorio respectivo en cada servidor.
- Desplegar Apache Pulsar en un servidor central con docker-compose.
- Desplegar la base de datos MySQL en cada servidor con docker-compose.
- Cambiar la configuración de los microservicios para que apunten al host de Apache Pulsar en el servidor central.
- Ejecutar el comando
python main.py
opython3 main.py
en cada servidor.
Los escenarios de calidad se explican en el video explicativo de la entrega 1. Alrededor del minuto 19:42