Welcome to the cloops.microservices SDK documentation! 🎉 This SDK provides an opinionated, production-ready framework for building highly available, lean, and scalable cloud-native microservices using NATS as the primary communication layer.
This documentation is designed to guide you through building microservices with the cloops.microservices SDK. Whether you're just getting started or looking to implement advanced features, you'll find detailed guides covering everything from installation to distributed locking.
- 🚀 Getting Started: Installation and setup instructions
- 🔧 Core Concepts: Dependency injection, configuration, controller and service registration
- 📡 NATS Integration: Building controllers with consumers and implementing request-reply or publish-subscribe patterns
- 💾 Data Persistence: SQL Server, TigerBeetle, and other storage backends for relational, searchable, and transactional workloads
- 🌐 Communication: Inter-service calls and lightweight REST endpoints
- ⚡ Advanced Features: Distributed locking, observability, and more
Before diving in, it's recommended that you:
- 💻 Understand C# and .NET development, but its cool if you don't. C# is very easy to learn.
- 🏗️ Have basic knowledge of microservices architecture
💡 Note: This SDK uses NATS as the primary communication mechanism between services. Lightweight REST support is included for Kubernetes probes and webhook ingress. If you're new to NATS, check out the main README for learning resources.
- 0. 🏗️ Introduction to microservices
- 1. 🚀 Getting started
- 2. 🔌 Automated DI Setup
- 3. ⚙️ Application Config
- 4. 📨 Registering your first NATS consumer (interceptors + exception handlers)
- 5. 📋 Strong Schema Architecture
- 6. 🛠️ Utility Functions
- 7. 🎮 Controllers
- 8. 🔧 Services
- 9. 💾 Data Persistence
- 9.1. 🗃️ Microsoft SQL Server (relational)
- 9.1.1. Making SQL Database Calls
- 9.1.2. Database Migrations
- 9.2. 🔍 Manticore (searchable documents) (WIP)
- 9.3. 🗄️ NimbusDb (object store backed) (WIP)
- 9.4. 🐯 TigerBeetle (transactional workloads)
- 9.5. 📦 NATS KV
- 9.6. 📦 MinIO (WIP)
- 9.1. 🗃️ Microsoft SQL Server (relational)
- 10. 🌐 Invoking other services
- 11. 🌎 Lightweight REST Endpoints
- 12. 🧪 Manually Testing Microservices on local
- 13. 📊 Observability
- 14. 🚩 Feature Flagging (WIP)
- 15. Background Processing
- 15.1 ⏰ Background Jobs (cron based)
- 15.2 Work Queue (WIP)
- 16. 🔒 Distributed Locks
- 17. 🔐 Decentralized JWT Auth for UI
- 18. 💨 Caching
- 19. 🧭 Additional Setup
- 20. ❄️ Snowflake ID Generation