Skip to content

glimte/mmate-docs

Repository files navigation

Message Mate Documentation

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.

Overview

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

Quick Start

Documentation Structure

📚 Core Documentation

📦 Components

  • 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

🔷 Platform-Specific

🔄 Migration

🛠️ Advanced Topics

🔧 Tools

Platform Comparison

Go Implementation - Enterprise Ready

  • Status: 🟢 Production Ready with full enterprise feature set
  • Target: High-scale distributed systems, enterprise environments
  • Features: All messaging patterns, advanced reliability, monitoring, scaling

.NET Implementation - Enterprise Ready (Full Feature Parity)

  • 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.

Getting Help

  • 📖 Check the documentation for your platform
  • 🐛 Report issues on the respective GitHub repository
  • 💬 Community discussions on GitHub Discussions
  • 📧 Commercial support available

About

Documentation for a modern messaging framework written in go-lang. Build reliable microservices with message queues. Features: retry, DLQ, metrics, service discovery and persistent message state

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors