xPike - The Paved-Road for Microservices in .Net
Mission
Provide a paved road of cross-cutting concerns and best practices for building high quality, reliable, cloud-native microservices and distributed systems in .Net and .Net Core.
Highlights
Key goals are to provide a cross-cutting, cohesive framework which suggests a single paved road to success, without constraining you to follow that path. While we try not to be opinioned like other frameworks, we do provide sensible defaults.
Highly pluggable and customizable, strongly encourages and enables test-oriented development.
Primary feature set targeting "universal areas of concern" such as logging, metrics, settings management, dependency injection, data access, inter-service communication (events, queues, HTTP, gRPC), transient fault management ("circuit breakers"), etc.
Providers are available for common RDBMS systems, cloud services in AWS and Azure, familiar .NET libraries, and many other use cases - it is also easy to create your own custom providers.
Using a highly de-coupled architecture and a contract-based design pattern, it is well suited for an evolving service ecosystem and simplifies the decomposition of legacy systems.
The "Paved-Road"
The xPike SDK aims to provide a paved-road of industry demonstrated best practices in service design and operation, including:
- SOLID principles
- Observability
- Configuration separate from code
- Abstract infrastructure concerns from application logic
Platform Support
Natively support:
- .Net Core 2.0 and above
- .Net 4.5.2 and above
Contributing
Want to contribute? Read our contributing guidelines.
Licensing
License information can be found here.