Skip to content

MalcolmMello/EShop-Microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

EShop-Microservices

Tecnologias / Infra

  • Plataforma: .NET 8 / ASP.NET Core (imagens mcr.microsoft.com/dotnet)
  • Containerização: Docker + Docker Compose (inclui docker-compose.override)
  • API Gateway: YARP (implementado no projeto)
  • Mensageria: RabbitMQ (imagem rabbitmq:management, comunicação AMQP)
  • Bancos de dados:
    • PostgreSQL (serviços: catalogdb, basketdb)
    • Microsoft SQL Server (orderdb — imagem mcr.microsoft.com/mssql/server)
  • Cache distribuído: Redis (serviço distributedcache)
  • gRPC: serviço discount.grpc e clientes gRPC configurados
  • MassTransit: integração com RabbitMQ (pacote MassTransit.RabbitMQ usado na camada de messaging)
  • Marten: store/document store sobre PostgreSQL (usado, por exemplo, no Basket)
  • Volumes / UserSecrets / certificados HTTPS: mapeamentos de volumes para persistência e segredos locais (Postgres volumes, mapeamento de UserSecrets e certificados ASP.NET)

Boas práticas e padrões aplicados

  • Arquitetura separada em 4 microserviços (carrinho, catálogo, descontos e pedidos)
  • Arquitetura modular e separação de responsabilidades (projetos como BuildingBlocks e serviços independentes)
  • Clean / Layered architecture (separação de domain, application, infrastructure aparente nos projetos)
  • Comunicação híbrida: HTTP/REST + gRPC + mensagens assíncronas (RabbitMQ) para desacoplamento
  • Dockerfiles multi-stage (build → publish → runtime) para imagens finais menores
  • Configuração por variáveis de ambiente nos serviços (facilita configuração em diferentes ambientes)
  • Health checks básicos configurados nos serviços
  • Uso de cache (Redis) para otimização e redução de carga no banco
  • Desacoplamento por mensageria (MassTransit + RabbitMQ) para escalabilidade e resiliência

About

E‑commerce em microsserviços (ASP.NET Core /.NET 8) orquestrado com Docker Compose, usando RabbitMQ, PostgreSQL, MS SQL Server, Redis e gRPC. Arquitetura modular com BuildingBlocks, Dockerfiles multi-stage, comunicação híbrida (REST/gRPC/eventos via MassTransit) e práticas de clean/layered architecture e health checks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors