-
Notifications
You must be signed in to change notification settings - Fork 2
Home
The Paralax Framework is a comprehensive, modular .NET framework optimized for developing scalable and resilient microservice architectures on .NET 9.0. This wiki is designed to guide you through setup, component configurations, and advanced features, offering a deeper look into how each Paralax module can empower your distributed systems.
Paralax offers a robust suite of tools essential for building, managing, and scaling microservices. It provides modules for everything from security and CQRS to logging, message brokering, and cloud optimization, making it highly suitable for cloud-native environments such as Kubernetes and Docker.
- Modular Architecture: Integrate only the components you need.
- Security-First Design: Encryption, hashing, and secrets management.
- Advanced CQRS & Event Sourcing: Full support for scalable, event-driven applications.
- Message Brokering: Asynchronous communication through RabbitMQ, Kafka, and more.
- Comprehensive Observability: Logging, metrics, and tracing via OpenTelemetry and Jaeger.
- Cloud-Native Optimization: Seamless deployment on Kubernetes, Docker, and other cloud platforms.
- Getting Started
- Installation
- Core Components
- Advanced Features
- Module Descriptions
- Contributing
- License
Begin by setting up Paralax in your project, configuring its modules, and understanding its core capabilities for distributed systems.
The framework is modular, allowing you to choose components based on project needs:
- Paralax.Auth: Authentication tools, including distributed options.
- Paralax.CQRS: Command-Query Responsibility Segregation for scalable microservices.
- Paralax.MessageBrokers: Support for RabbitMQ, Kafka, and other messaging systems.
- Paralax.WebAPI: Optimized ASP.NET Core Web API framework.
- Paralax.Logging: Integrated, extensible logging solutions.
For added customization, Paralax includes:
- Event Sourcing (e.g., Paralax.CQRS.EventSourcing)
- Distributed Tracing (e.g., Paralax.Tracing.Jaeger)
- Binary Serialization (e.g., Paralax.HTTP for performance-optimized communication)
- Paralax.Auth: Basic authentication and authorization.
- Paralax.Auth.Distributed: Advanced distributed authentication for multi-instance setups.
- Paralax.CQRS.Commands: Handles command-based write operations.
- Paralax.CQRS.Queries: Manages query-based read operations.
- Paralax.CQRS.Events: Supports event-based communication for event sourcing.
- Paralax.CQRS.EventSourcing: Provides a full event-sourcing solution for event-driven architectures.
- Paralax.CQRS.WebApi: CQRS support for Web API projects.
- Paralax.CQRS.Logging: Integrated logging for CQRS operations.
- Paralax.Discovery.Consul: Integrates with Consul for service discovery.
- Paralax.LoadBalancing.Fabio: Load balancing using Fabio.
- Paralax.Docs.Scalar: Basic documentation module.
- Paralax.Docs.Swagger: Swagger integration for API documentation.
- Paralax.HTTP: Provides optimized HTTP client and server support with binary serialization.
- Paralax.WebApi: A streamlined Web API framework on top of ASP.NET Core.
- Paralax.WebApi.Scalar: Enhances Web API documentation.
- Paralax.WebApi.Swagger: Integrates Swagger for Web API documentation.
- Paralax.WebApi.Security: Advanced security features for Web APIs.
- Paralax.Logging: Extensible logging with support for multiple outputs.
- Paralax.Tracing.Jaeger: Distributed tracing with Jaeger.
- Paralax.Tracing.Jaeger.RabbitMQ: RabbitMQ-specific tracing support.
- Paralax.MessageBrokers: Core message broker support.
- Paralax.MessageBrokers.CQRS: Messaging tailored for CQRS.
- Paralax.MessageBrokers.Outbox: Implements the outbox pattern for reliable messaging.
- Paralax.MessageBrokers.Outbox.Mongo: MongoDB integration for outbox storage.
- Paralax.MessageBrokers.RabbitMQ: RabbitMQ message broker integration.
- Paralax.Metrics.AppMetrics: Application metrics for real-time monitoring.
- Paralax.Metrics.Prometheus: Prometheus integration for metrics tracking.
- Paralax.Persistence.MongoDB: MongoDB support for persistence.
- Paralax.Persistence.Redis: Redis support for cache and data storage.
- Paralax.Secrets.Vault: Secure secrets management using Vault.
- Paralax.Security: Core security features, including encryption and data protection.
- Paralax.gRPC: Provides support for gRPC services.
- Paralax.gRPC.Protobuf: Protobuf serialization for gRPC services.
We welcome contributions! Check out our Contributing Guide for ways to get involved.
Paralax is licensed under the Apache-2.0 License. See the LICENSE file for details.
Happy coding with Paralax! Explore, customize, and enjoy building resilient microservices with this powerful framework. Feel free to contribute, report issues, and help enhance Paralax for everyone!