SuuCat is a sample containerized application consisting of several microservices. Its purpose is to use microservice patterns in practice.
Development is still in progress.
Saga Orchestration with MassTransit and RabbitMq
Distributed Logging with ElasticSearch, Kibana and SeriLog
- 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
Contributions are welcome! If you find a bug or have an idea for a new feature, please open an issue or submit a pull request.