SuuCat is a sample containerized application consisting of several microservices. Its purpose is to use microservice patterns in practice.
Development is still in progress.
- API Gateway (Ocelot) with BFF pattern
- Saga orchestration pattern
- Eventual Consistency with Change Data Capture and Outbox pattern (Debezium)
- Integration Events and Materialized Views (RabbitMq on local, Service Bus on Azure)
- Outbox/Inbox patterns for inter-service communication
- Auth with Client credentials and Resource Owner Password Credentials Grant (Identity Server 4)
- Integration Tests with Consumer Driven Contracts (Pact)
- Distributed Logging with ELK stack (Elasticsearch, Logstash, Kibana)
- Complex Microservices with DDD and basic microservices with CQRS
- Relational database (PostgreSQL)
- Cache (Redis)
- NoSQL (Cosmosdb)
- Docker and Azure Kubernetes Service (AKS) deployment
- Health Checks with Prometheus and Grafana or Watchdog