Apache BifroMQ Documentation

website·Indexed 20 days ago

https://bifromq.apache.org/

Documentation for BifroMQ (4.0.0-incubating), a Java-based, high-performance, distributed MQTT broker. Includes guides on installation (Linux, Kubernetes), user operations for pub/sub and shared subscriptions, RESTful API specifications via OpenAPI, and developer resources for SPI and plugin development (auth and setting providers).

Tokens
179.7K
Snippets
665
Records
1.3K
Agent score
96%

What's inside BifroMQ

  1. Overview of BifroMQ Plugin Extension Types

    BifroMQ provides four primary plugin extension interfaces to integrate with business systems:

    • Auth Provider: Handles authentication and topic Pub/Sub authorization logic.
    • Event Collector: Collects runtime events for event-driven business logic.
    • Resource Throttler: Controls resource usage dynamically at the tenant level.
    • Setting Provider: Adjusts tenant-specific MQTT protocol settings dynamically.
  2. Overview of Apache BifroMQ

    Apache BifroMQ (Incubating) is a high-performance, distributed, Java-based MQTT broker engineered for cloud systems and large-scale IoT deployments. Unlike single-node brokers, it is designed to handle millions of always-on connections and bursty workloads. Key features include:

    • Standards Compliance: Full support for MQTT 3.1, 3.1.1, and 5.0.
    • Native Multi-tenancy: Provides resource and workload isolation for multiple tenants on a single physical cluster.
    • Elastic Scalability: Horizontally scalable for both concurrent connections and message throughput.
    • Distributed State Store: Optimized storage for persistent sessions, inflight messages, and retained data.
  3. Overview of BifroMQ Plugin Extension Types

    BifroMQ provides four primary plugin extension interfaces to integrate with business systems:

    • Auth Provider: Handles authentication and topic Pub/Sub authorization logic.
    • Event Collector: Collects runtime events for event-driven business logic.
    • Resource Throttler: Controls resource usage at the tenant level.
    • Setting Provider: Adjusts tenant-specific MQTT protocol settings.
  4. Overview of BifroMQ MQTT Protocol Support

    BifroMQ provides extensive support for the MQTT protocol, ensuring compatibility with third-party clients and interoperability across different versions. Key capabilities include:

    • Protocol Version Support: Full support for MQTT versions 3.1, 3.1.1, and 5.0.
    • Cross-Version Interoperability: Messages can be exchanged between sessions established with different MQTT protocol versions within the same tenant.
    • Tenant Customization: Protocol-related settings can be customized on a per-tenant basis to meet specific application requirements.
    • Dynamic Configuration: Protocol settings can be adjusted dynamically using setting provider plugins.
  5. Overview of TLS support in BifroMQ

    BifroMQ supports secure transmission of data via SSL/TLS encryption to prevent eavesdropping and unauthorized access. It provides support for TLS connections and WebSocket Security connections, with flexible configuration options for both single-way and two-way (mutual) authentication.
  6. Overview of BifroMQ Plugin Types

    BifroMQ provides three types of plugin interfaces to integrate custom business logic at runtime:

    • Auth Provider: Used for authentication and topic Pub/Sub authorization logic.
    • Event Collector: Used to collect runtime events for event-driven business logic.
    • Setting Provider: Used to provide control settings to BifroMQ for control-plane business logic integration.
  7. Overview of TLS support in BifroMQ

    BifroMQ supports secure transmission of data via SSL/TLS encryption to prevent eavesdropping and unauthorized access. It provides support for TLS connections and WebSocket Security (WSS) connections, with flexible configuration options for both single-way and two-way (mutual) authentication.
  8. Overview of BifroMQ API Service

    The BifroMQ API Service allows users to perform administrative operations such as proxy publishing, subscribing, unsubscribing, kicking devices, and clearing unnecessary inbox messages. It is particularly useful for maintaining system performance when CleanSession=false by clearing offline messages that are no longer in use.
  9. Overview of TLS and WebSocket Security in BifroMQ

    BifroMQ supports secure transmission of data via SSL/TLS encryption to prevent eavesdropping and unauthorized access. It provides support for both standard TLS connections and WebSocket Security connections, with flexible configuration options for single-way and two-way (mutual) authentication.
  10. Overview of BifroMQ Plugin Types

    BifroMQ provides a plugin mechanism to integrate custom business logic at runtime via three specific interface types:

    • Auth Provider: Used for implementing custom authentication and topic Pub/Sub authorization logic.
    • Event Collector: Used for collecting runtime events to implement event-driven business logic.
    • Setting Provider: Used to provide control settings to BifroMQ at runtime for control-plane business logic integration.
  11. Overview of the BifroMQ Setting Provider Plugin

    The Setting Provider Plugin allows developers to supply custom values for tenant-level settings at runtime, enabling dynamic adjustment of BifroMQ's service behavior per tenant. Only one instance of the Setting Provider can run at a time.
  12. Overview of BifroMQ Plugin Extension Types

    BifroMQ provides four primary plugin extension interfaces to integrate with business systems:

    • Auth Provider: Handles authentication and topic Pub/Sub authorization logic.
    • Event Collector: Collects runtime events for event-driven business logic.
    • Resource Throttler: Controls resource usage dynamically at the tenant level.
    • Setting Provider: Dynamically adjusts MQTT protocol settings for specific tenants.