VibeMQ

Getting Started

  • Quick Start
    • Prerequisites
    • Installation
    • First Server
    • First Client
    • Complete Example: Publisher and Subscriber
    • Next Steps
  • Installation
    • System Requirements
    • NuGet Installation
      • Basic Packages
      • Dependency Injection Packages
      • All Packages at Once
    • Docker Installation
      • Dockerfile
      • Docker Compose
    • Installation from Source Code
      • Clone the Repository
      • Build the Project
      • Local Package Installation
    • Integration into Existing Projects
      • ASP.NET Core Application
      • Worker Service
      • Console Application
    • Installation Verification
      • Server Verification
      • Client Verification
    • Troubleshooting
      • Port Already in Use
      • Authentication Error
      • TLS/SSL Errors
    • Next Steps

Core Concepts

  • Architecture
    • Architecture Overview
    • System Components
      • VibeMQ.Core
      • VibeMQ.Protocol
      • VibeMQ.Server
      • VibeMQ.Client
      • Health checks (VibeMQ.Core, namespace VibeMQ.Health)
    • Operating Principles
      • Message Lifecycle
      • Delivery Modes
      • Keep-alive Mechanism
      • Automatic Reconnections
      • Graceful Shutdown
    • Memory Management
      • Backpressure
      • Object Pool
    • Metrics and Monitoring
    • Next Steps
  • Features
    • Publish/Subscribe (Pub/Sub)
    • Delivery Modes
      • Round-robin
      • Fan-out with Acknowledgment
      • Fan-out without Acknowledgment
      • Priority-based
    • Delivery Guarantees
      • Acknowledgments (ACK)
      • Retry Attempts
      • Dead Letter Queue (DLQ)
    • Queue Management
      • Creating a Queue
      • Deleting a Queue
      • Getting Information
      • List Queues
      • Queue Declarations
    • Message Priorities
    • Keep-alive (PING/PONG)
    • Automatic Reconnections
    • Authentication
    • TLS/SSL Encryption
    • Rate Limiting
    • Graceful Shutdown
    • Health Checks
    • Metrics
    • Persistence & Storage
    • Next Steps
  • Communication Protocol
    • Overview
    • Protocol Layers
    • Framing
      • Frame Format
        • Compression Flags Byte
        • Frame Example (no compression)
        • Frame Example (Brotli)
    • Compression
      • Negotiation
      • Threshold
      • Configuration
      • Compression Headers
    • Message Format
      • Binary Protocol Structure
      • Logical Structure
      • Message Fields
    • Command Types (CommandType)
    • Command Descriptions
      • Connection Management
        • Connect
        • ConnectAck
        • Disconnect
      • Keep-alive
        • Ping
        • Pong
      • Publish/Subscribe
        • Publish
        • PublishAck
        • Subscribe
        • SubscribeAck
        • Unsubscribe
        • UnsubscribeAck
        • Deliver
      • Acknowledgment
        • Ack
      • Queue Management
        • CreateQueue
        • DeleteQueue
        • QueueInfo
        • ListQueues
      • Errors
        • Error
        • Error Codes
    • Headers
      • Common Headers
      • Message Headers
      • Queue Headers
    • Exchange Examples
      • Connection Establishment
      • Message Publishing
      • Message Delivery
      • Keep-alive
    • Protocol Versions
    • Next Steps

Setup & Usage

  • Server Setup
    • Basic Configuration
      • Minimal Configuration
      • Advanced Configuration
    • Configuration Parameters
      • Basic Parameters
      • Default Queue Settings
      • Rate Limiting
      • TLS/SSL Settings
      • Health Check Settings
    • Delivery Modes
      • Round-robin
      • Fan-out with Acknowledgment
      • Fan-out without Acknowledgment
      • Priority-based
    • Overflow Strategies
      • DropOldest
      • DropNewest
      • BlockPublisher
      • RedirectToDlq
    • Dead Letter Queue
    • Authorization (Username/Password + ACL)
    • Legacy Token Authentication
    • TLS/SSL Encryption
    • Starting and Stopping
      • Starting Server
      • Stopping Server
    • Logging
    • Configuration Examples
      • Minimal Server for Development
      • Production Server
      • Microservices Server
      • IoT Server
    • Next Steps
  • Docker
    • Quick Start
      • Image variants
      • Broker + Web UI image
      • Using Docker Compose
    • Configuration
      • Environment variables (examples)
      • Config file path
      • Example: auth and port
      • Example: SQLite persistence
    • Image details
  • Client Usage
    • Using with Dependency Injection (IVibeMQClient)
    • Connecting to Server
      • Connection String
      • Basic Connection
      • Connection with Authentication
      • Connection with Logging
    • Publishing Messages
      • Basic Publishing
      • Publishing with Headers
      • Typed Publishing
    • Subscribing to Messages
      • Basic Subscription
      • Typed Subscription
      • Subscription with Error Handling
      • Class-based Subscriptions
      • Multiple Subscriptions
    • Unsubscribing from Queue
      • Automatic Unsubscribe
      • Manual Unsubscribe
    • Queue Declarations
      • Declaring Queues
      • Conflict Resolution
      • Handling QueueConflictException
      • Provisioning Errors vs. Conflicts
      • Pre-flight Validation
      • Reconnect Behavior
      • Queue Declarations with Dependency Injection
    • Creating Queues Manually
    • Client Settings
      • ClientOptions
      • ReconnectPolicy
    • TLS/SSL Connection
    • Handling Disconnections
      • Automatic Reconnection
      • Status Check
      • Events (Optional)
    • Disconnecting
      • Graceful Disconnect
      • Using Using
    • Usage Examples
      • Simple Publisher
      • Simple Subscriber
      • Task Processing Worker
      • Event Bus for Microservices
    • Troubleshooting
      • Connection Error
      • Authentication Error
      • Connection Timeout
      • Frequent Disconnections
    • Next Steps
  • Configuration
    • Server Configuration
      • BrokerOptions
      • Basic Parameters
        • Port
        • MaxConnections
        • MaxMessageSize
        • EnableAuthentication
        • AuthToken
        • Authorization
        • AuthorizationOptions
      • QueueDefaults
        • DefaultDeliveryMode
        • MaxQueueSize
        • EnableAutoCreate
      • TlsOptions
        • Enabled
        • CertificatePath
        • CertificatePassword
      • RateLimitOptions
        • Enabled
        • MaxConnectionsPerIpPerWindow
        • ConnectionWindow
        • MaxMessagesPerClientPerSecond
    • Client Configuration
      • ClientOptions
        • Username / Password
        • AuthToken
        • PreferredCompressions
        • CompressionThreshold
        • ReconnectPolicy
        • KeepAliveInterval
        • CommandTimeout
        • UseTls
        • SkipCertificateValidation
        • QueueDeclarations
        • QueueDeclaration
        • QueueConflictResolution
        • ConflictSeverity
      • ReconnectPolicy
        • MaxAttempts
        • InitialDelay
        • MaxDelay
        • UseExponentialBackoff
    • Health Check Configuration
      • HealthCheckOptions
        • Enabled
        • Port
    • Configuration Examples
      • Minimal
      • Development
      • Production
      • IoT Scenario
      • Microservices
      • With Authorization
    • Next Steps
  • Authorization
    • Overview
    • Quick Start
    • Configuration
      • AuthorizationOptions
    • Superuser
    • Users and Passwords
    • Per-Queue ACL
      • QueueOperation
      • Glob Patterns
    • Permission Caching
    • Admin Protocol Commands
    • ListQueues Filtering
    • Security Recommendations
    • Examples
      • Multi-tenant Setup
      • Worker Pool (Publish-only)
    • Next Steps
  • DI Integration
    • Overview
    • Package Installation
    • Server Integration
      • Basic Registration
      • Registration with Configuration
      • Configuration from appsettings.json
      • Advanced Configuration
    • Client Integration
      • Basic Registration
      • Registration with Connection String
      • Registration from IConfiguration
      • Registration with Configuration
      • Configuration from appsettings.json
      • Advanced Client Configuration
    • Using in Services
      • Publishing Messages from Service (IVibeMQClient)
      • Publishing with IVibeMQClientFactory (dedicated client)
      • Subscribing to Messages in Background Service
      • Class-based Subscriptions with Automatic Registration
      • Event Bus with DI
    • Combined Usage
      • Server + Client in One Application
      • Multiple brokers
    • Configuration via Environment Variables
    • Docker Compose Example
    • Troubleshooting
      • Error: “Broker already registered”
      • Error: “Unable to connect”
      • Auto-start Server
    • Next Steps
  • Persistence & Storage
    • Overview
    • Storage Providers
    • Quick Start
      • InMemory (default)
      • SQLite
      • Redis
    • SQLite Configuration
      • SqliteStorageOptions
      • Database Schema
    • Redis Configuration
      • RedisStorageOptions
    • How Persistence Works
      • Write-Ahead Pattern
      • Acknowledgment Flow
      • Startup Recovery
      • Dead Letter Queue Persistence
    • Storage Management
      • StorageStats
    • IStorageProvider Interface
    • Implementing a Custom Provider
    • Configuration Examples
      • Development (InMemory)
      • Production (SQLite)
      • Production with DI (SQLite)
      • appsettings.json (SQLite)
    • Migration from Previous Versions
    • Next Steps

Monitoring & Operations

  • Monitoring
    • Health Checks
      • Enabling Health Checks
      • Endpoints
        • GET /health/
        • GET /metrics/
    • Metrics
      • Counters
        • TotalMessagesPublished
        • TotalMessagesDelivered
        • TotalMessagesAcknowledged
        • TotalRetries
        • TotalDeadLettered
        • TotalErrors
        • TotalConnectionsAccepted
        • TotalConnectionsRejected
      • Gauge Metrics
        • ActiveConnections
        • ActiveQueues
        • InFlightMessages
        • MemoryUsageBytes
      • Latency
        • AverageDeliveryLatencyMs
    • Monitoring with Prometheus
      • Grafana Dashboard
    • Logging
      • Logging Configuration
      • Log Levels
      • Log Examples
    • Alerting
    • Next Steps
  • Health Checks
    • Overview
    • Enabling Health Checks
      • Configuration Parameters
    • Endpoints
    • GET /health/
    • GET /metrics/
    • Using with Orchestrators
      • Kubernetes
      • Docker Compose
      • Azure Container Instances
      • AWS ECS
    • Monitoring Health Checks
      • Manual Check
      • Automatic Monitoring
    • Integration with Monitoring Systems
      • Prometheus
      • Grafana
      • Datadog
      • New Relic
    • Troubleshooting
      • Health check not responding
      • Returns 503
      • Health check timeout
    • Next Steps
  • Web UI Dashboard
    • Overview
    • Quick Start
      • Docker
      • With Options
      • Manual Start
    • Configuration
    • API Endpoints
    • Building the Frontend
    • Requirements
    • Security
  • Troubleshooting
    • Connection Issues
      • “Connection refused”
      • “Connection timeout”
      • “Host unreachable”
    • Authentication Issues
      • “Authentication failed”
      • “Authentication required”
    • Queue Issues
      • “Queue not found”
      • “Queue already exists”
    • Message Delivery Issues
      • Messages Not Delivered
      • Slow Message Delivery
      • “Message timeout”
    • Memory Issues
      • “Out of memory”
      • Backpressure
    • Reconnection Issues
      • Frequent Disconnections
      • “Max reconnect attempts exceeded”
    • TLS/SSL Issues
      • “Certificate validation failed”
      • “TLS handshake failed”
    • Rate Limiting Issues
      • “Rate limit exceeded”
      • “Too many connections”
    • Diagnostics
      • Enabling Verbose Logging
      • Health Check
      • Queue Check
      • Connection Check
    • Next Steps

Additional Resources

  • Examples
    • Basic Examples
      • Simple Publisher
      • Simple Subscriber
      • Server
    • Task Queues
      • Order Processing
      • Class-based Subscriptions
      • Background Tasks with Priorities
    • Event Bus
      • EventBus Implementation
    • Microservices
      • Data Synchronization Between Services
      • CQRS with VibeMQ
    • Monitoring and Logging
      • Custom Logger
      • Application Metrics
    • Next Steps
  • Frequently Asked Questions
    • General Questions
      • What is VibeMQ?
      • How is VibeMQ different from RabbitMQ/Kafka?
      • When to use VibeMQ?
      • What .NET versions are supported?
    • Technical Questions
      • How does delivery guarantee work?
      • What happens when server restarts?
      • How to scale VibeMQ?
      • How to ensure security?
      • What delivery modes are supported?
      • How does Dead Letter Queue work?
    • Deployment
      • How to run in Docker?
      • How to use with Kubernetes?
      • How to configure for production?
    • Performance
      • What is VibeMQ performance?
      • How to optimize performance?
    • Security
      • How secure is token authentication?
      • Do I need to use TLS?
      • How to protect against DDoS?
    • Integration
      • How to use with ASP.NET Core?
      • How to use with Worker Service?
      • Can I use with other languages?
    • Troubleshooting
      • Why are messages lost?
      • Why high latency?
      • Why frequent disconnections?
    • Next Steps
  • Changelog
    • Version History
      • Version 1.7.0
      • Version 1.6.1
      • Version 1.6.0
      • Version 1.5.0
      • Version 1.4.0
      • Version 1.3.0
      • Version 1.2.0
      • Version 1.1.0
      • Version 1.0.0
      • Backlog (Version 2.0+)
    • Version Archive
      • Version 0.1.0 (Alpha)
    • Version Format
    • Versioning Policy
      • Version Support
      • Release Schedule
      • Change Notifications
    • Contributing to the Project
      • How to Suggest an Improvement
      • How to Report a Bug
      • How to Contribute to Documentation
    • Links
VibeMQ
  • Search


© Copyright 2026, Darkboy.

Built with Sphinx using a theme provided by Read the Docs.