Skip to main content
Version: 1.0.0 (development)

Capabilities and implementation boundaries

Use this page to decide which component and configuration belong in your system. It describes the current source, not a blanket production certification or a complete feature-parity statement for Apache RocketMQ.

Read a capability as a set of conditions

“Implemented” means a concrete source path exists. “Enabled” additionally requires the right build features, runtime settings, credentials, and backend. “Exercised” describes a particular test or deployment scenario. “Released” means a published artifact contains it. These are different claims.

The repository's v1-capability-manifest.json records the 1.0.0 core scope, with profile-specific implementation and evidence fields. Its component or interop state applies to the referenced scenario and profile; it does not establish the same behavior for a different deployment. The manifest is not the complete capability catalog for Dashboard and AI products.

Core services and clients

CapabilityCurrent source surfaceConditions and limits
Topic routing and broker discoveryNameServer registration, expiry, route snapshots and queriesA live Broker must register useful topic metadata; a listening NameServer alone does not create routes
Ordinary message storage and deliveryBroker processors and LocalFile storageRole, permissions, topic/group configuration and disk state matter
Producer sendingSync-result, callback, one-way, batch and queue-selection APIsResult guarantees differ; one-way has no broker acknowledgement to inspect
Push consumptionClient listeners, rebalance and pull/long-poll schedulingApplication callbacks do not mean the Broker opens unsolicited delivery connections
LitePull consumptionExplicit polling, subscription/assignment and offset managementApplication processing and progress commits are separate operations
Classic Pull compatibilityDeprecated facade with runtime-backed compatibility implementationDetached constructors cannot run initialized operations; new applications should prefer LitePull
POPRequest-mode, receipt, invisible-time and ACK handlingRequires the selected Topic/Group request mode and matching broker behavior
Transactions, ordering, filtering, delay and recallClient APIs plus corresponding broker processorsEach feature has its own topic, group, filter or timer conditions; an API symbol alone is insufficient
Admin APIsClient and Admin Core read/mutation surfacesCargo feature availability does not grant runtime permissions

The first-message tutorial deliberately selects ordinary messages, a LocalFile master, and LitePull. Add an advanced message model only after its processing, retry, and acknowledgement semantics are clear.

Storage, replication and ingress

AreaSelectionBoundary
Local storageBroker/Store defaults select local file storageMain-log durability and derived visibility are separate
RocksDBBroker rocksdb_store and the compatible store configurationFollow the actual backend's log/derived-structure and recovery contracts; it is not an arbitrary online replacement
Tiered storageOptional integration with tiered storage componentsRemote/derived progress cannot strengthen the primary write acknowledgement
Default HAA configured master/replica deploymentReplica acknowledgement policy and the actual failure model determine the guarantee
Controller HARust Controller coordination and compatible broker configurationDo not assume mixed Java Controller/JRaft/DLedger membership or internal protocol compatibility
Proxy ClusterCluster backend adaptation with remote servicesConfigure downstream discovery, identity, protocol and resource limits
Proxy LocalIn-process backend adaptationEmbedded ownership and shutdown differ from a remote cluster connection
NameServer embedded Controllerembedded-controller build feature plus enableControllerInNamesrvDefault NameServer builds exclude the Controller dependency; the setting alone cannot enable it
Transport securityAppropriate transport feature and endpoint configurationAuth bootstrap checks and actual TLS listener/client wiring are separate

The client crate has no tls feature of its own. Client applications requiring TLS must enable the transport TLS implementation in their dependency graph and configure the connection appropriately. Similarly, selecting an observability feature does not by itself configure an exporter.

Operations products

ProductPurposeSeparate boundary
Web DashboardBrowser UI and server backendFrontend/backend build, authentication and deployment
GPUI / Tauri DashboardNative desktop administrationNative dependencies, platform support and application packaging
MCPRead-only cluster diagnosticsstdio/HTTP transport, identity and allowed read tools
MCP ControlIndependently configured controlled mutation toolsOpt-in implementation, registered operations, authorization and audit
AI SREContracts, connectors, model interaction and SRE workflowsProduct stage and registered execution paths; a plan is not authority to mutate a cluster

These products have their own manifests and guides. In particular, do not translate broad SRE roadmap language into a statement that every executor is currently enabled.

What to record when choosing a deployment

Record the source/release you use, product, build feature set, storage and ingress mode, authentication settings, and the failure behavior your application depends on. Then follow the matching guide. A runtime change in any of those conditions can invalidate an earlier operational assumption even when the public method name stays unchanged.

Sources and next steps