Microservices Dotnetcore Docker Sf K8s Versions Save

Shows an approach to work with a microservices based architecture using .Net Core, Docker, and Azure Service Fabric/Kubernetes, applying Domain Driven Design (DDD) and Comand and Query Responsibility Segregation (CQRS) and other patterns.

2.1.0

4 years ago
  • Adjust manifests to deploy in a cloud cluster as a cloud-native solution
  • Deployed, ran and tested on Google Kubernetes Engine (GKE)

2.0.4

4 years ago
  • Add health checks to all microservices
  • Add health checks UI add-on to frontend
  • Upgrade EF Core to 3.0.0
  • Organize better the Startup files
  • Set up k8s probes
  • Move environment variables to a common ConfigMap

2.0.3

4 years ago
  • Add Duber.Infrastructure.EventBus.Idempotency project to handle idempotency at integration events level.
  • Make TripFinishedIntegrationEvent idempotent in order to avoid it can be paid more than once due to concurrency, retries, etc.

v2.0.2

4 years ago
  • Create an independent service to manage the notifications in order to decouple it from the frontend and to allow a better scaling out for both, frontend and notifications service.
  • Add Redis to the cluster in order for SignalR to work properly into the cluster.
  • Disable Sticky Sessions in frontend's Ingress to allow a better load balancing since the notifications don't depend on the frontend anymore. The notification's Ingress is the one that has Sticky Sessions to manage the SignalR connections.

v2.0.1

4 years ago

Kubernetes support:

  • Enable the solution to being deployed on a local cluster
  • Use an Nginx Ingress Controller to expose frontend (Trip and Invoice services optional if you want to expose the API's)
  • Set up Nginx LB to use Sticky sessions in order for SignalR to work properly.

Frontend client dependencies:

  • Use Libman to manage the client dependencies.
  • Delete static SignalR client dependencies, using Libman now.

General enhancement:

  • Refactor SignalR messaging in order to send messages only tho the connected client rather than all clients.
  • Refactor RabbitMQ client in order to use named Queues and full support to async handlers.