Welcome to the unified documentation for Message Mate (Mmate) - a comprehensive messaging framework available for both .NET and Go.
Currently supports RabbitMQ and Amazon MQ, support for Azure ServiceBus and other message bus`s are planned.
Mmate provides high-level abstractions for messaging patterns built on top of brokers like RabbitMQ, offering:
- Type-safe messaging with contracts
- Multiple messaging patterns (Pub/Sub, Request/Reply, etc.)
- Workflow orchestration with StageFlow
- Cross-cutting concerns via interceptors
- Built-in reliability patterns
- Cross-language compatibility between .NET and Go
- Getting Started - .NET - Get started with .NET implementation
- Getting Started - Go - Get started with Go implementation
- Architecture Overview - Understand the core concepts
- Quick Start Guide - Quick introduction to Mmate
- Architecture - System design and concepts
- Wire Format - Cross-language message specification
- Patterns - Common messaging patterns with examples
- Contracts - Message types and interfaces
- Messaging - Publishers, subscribers, and handlers
- StageFlow - Multi-stage workflow orchestration
- Bridge - Synchronous over asynchronous patterns
- Interceptors - Cross-cutting concerns
- Schema - Message validation and versioning
- Monitoring - Health checks and metrics
- .NET Documentation - .NET implementation details
- Examples - Complete .NET code examples
- API Reference - .NET API documentation
- Go Documentation - Go implementation details
- Examples - Complete Go code examples
- API Reference - Go API documentation
- Migration Guides - Moving between platforms
- .NET to Go - Migrate from .NET to Go
- Go to .NET - Migrate from Go to .NET
- Complete Solutions - Production-ready examples
- Response Tracking - Request-response lifecycle
- Reliability - Circuit breakers, retries, DLQ
- Performance - Optimization and tuning
- Security - Authentication and authorization
- Testing - Testing strategies
- Auto Acknowledgment - Message acknowledgment patterns
- StageFlow Workflows - Advanced workflow patterns
- CLI Monitor - Command-line monitoring tool
- Tools Overview - Available development and monitoring tools
- Status: 🟢 Production Ready with full enterprise feature set
- Target: High-scale distributed systems, enterprise environments
- Features: All messaging patterns, advanced reliability, monitoring, scaling
- Status: 🟢 Enterprise Ready - Full feature parity with Go implementation
- Target: Enterprise .NET applications, ASP.NET Core integration, microservices
- Features: Complete messaging patterns, middleware architecture, advanced monitoring, StageFlow workflows with compensation
| Feature | .NET Status | Go Status |
|---|---|---|
| Publishing/Subscribing | ✅ Complete | ✅ Complete |
| Request/Reply | ✅ Complete | ✅ Complete |
| Batch Operations | ✅ Atomic batch publishing | ✅ Atomic batch publishing |
| Circuit Breakers | ✅ Advanced pattern implementation | ✅ Advanced pattern implementation |
| Retry Logic | ✅ TTL-based persistent retry | ✅ TTL-based persistent retry |
| Dead Letter Queues | ✅ Advanced DLQ patterns | ✅ Advanced DLQ patterns |
| Consumer Groups | ✅ Auto-scaling groups | ✅ Auto-scaling groups |
| Workflows (StageFlow) | ✅ Advanced sagas with compensation | ✅ Advanced sagas with compensation |
| Health Monitoring | ✅ ASP.NET Core health checks | ✅ Service monitoring |
| Message Validation | ✅ JSON schema + contract validation | ✅ JSON schema + contract validation |
| Contract Auto-Discovery | ✅ Automatic service discovery | ✅ Automatic service discovery |
| Acknowledgment Tracking | ✅ Application-level tracking | ✅ Application-level tracking |
Migration Notes: Choose based on your technology stack and specific requirements.
- 📖 Check the documentation for your platform
- 🐛 Report issues on the respective GitHub repository
- 💬 Community discussions on GitHub Discussions
- 📧 Commercial support available