Integrations
Framework and platform adapters that wire KubeMQ into your stack — NestJS, Spring, Celery, Ray Serve, KEDA, and more — all on the gRPC SDK.
KubeMQ integrations are framework and platform adapters that wire KubeMQ into a
specific framework's programming model — so you keep writing idiomatic NestJS, Spring,
Celery, or Ray Serve code while the adapter handles the messaging underneath. Every
integration is a native gRPC SDK client on port 50000; there is no separate protocol to
learn and no SDK call to make by hand.
The protocol gateways are documented separately: A2A and MCP under Aiway, and CloudEvents under Connectors.
What an integration is
An integration is a thin layer over the native KubeMQ gRPC SDK: it exposes KubeMQ through
a framework's own idioms (decorators, listeners, broker URLs, scalers) and connects to the
broker on :50000 like any other SDK client.
There are three ways to reach KubeMQ, differing in what you install and where the bridge runs:
| Approach | What you install | Where the bridge runs | Wire protocol | Example |
|---|---|---|---|---|
| Native SDK client | a KubeMQ library | in your app | gRPC :50000 | Go, Python |
| Framework adapter (integration) | the adapter package + the gRPC SDK | in your app, inside the framework | gRPC :50000 | this section |
| Server connector | nothing on the caller | inside kubemq-server | HTTP / JSON-RPC / CloudEvents :9090 | Connectors |
An integration is a native SDK client — it just sits inside a framework, exposing KubeMQ through that framework's idioms rather than raw SDK calls. A server connector, by contrast, runs inside kubemq-server and accepts a standard wire protocol on the shared HTTP server, so the caller installs nothing KubeMQ-specific — see Connectors for that side of the picture.
Because integrations are gRPC clients, they connect to the gRPC server on port 50000,
which runs independently and is always on. They are not HTTP connectors and need
no connector enable flag — CONNECTORS*_ENABLE gates only the HTTP connectors
(A2A / MCP / CloudEvents) at :9090. The only prerequisite for any integration is a
running KubeMQ broker reachable on :50000.
Architecture
Different apps load different adapters, but they all converge on the same native gRPC SDK
and the same broker on port 50000.
Each framework loads its own adapter, but all integrations ride the native gRPC SDK to the broker on :50000.
Messaging Framework Adapters
Wire KubeMQ in as the transport for an application-messaging framework.
NestJS
Integrate all five KubeMQ messaging patterns into NestJS microservices with custom decorators, dynamic modules, a CQRS bridge, and testing utilities.
Spring Boot
Production-grade Spring Boot starter and Spring Cloud Stream binder — auto-configuration, KubeMQTemplate, listener annotations, Kotlin, health, and metrics.
MassTransit
Use KubeMQ as the message transport for MassTransit .NET applications, with native queues, events, persistent events, and request/response.
FastStream
Build async, event-driven Python apps on KubeMQ with all five messaging patterns through the FastStream framework's broker adapter.
Watermill
Use the Watermill Go event-driven library with KubeMQ across Events, Events Store, Queues, and native Commands/Queries.
Task & Inference Processing
Use KubeMQ as the work queue behind distributed task and ML-inference systems.
Celery
Use KubeMQ as your Celery broker and result backend with a one-line broker URL change — the only Kubernetes-native, in-cluster Celery broker.
Ray Serve
Queue-based async and sync ML inference for Ray Serve, backed by KubeMQ via the KubeMQTaskProcessorAdapter.
Platform & Operations
Integrate KubeMQ with the surrounding platform — provisioning, DI, and autoscaling.
.NET Aspire
Provision KubeMQ and wire up IKubeMQClient in .NET Aspire apps with health checks, OpenTelemetry, and keyed dependency injection.
KEDA
Autoscale KubeMQ queue consumers on Kubernetes with the KubeMQ KEDA external scaler, driven by live queue depth.
Compare the integrations
Every integration is a native gRPC SDK client on :50000. They differ by language,
framework, the KubeMQ patterns they expose, and what you install.
| Integration | Language / Runtime | Framework + min version | KubeMQ patterns | Primary use case | Package / install |
|---|---|---|---|---|---|
| NestJS | TypeScript / Node 20.11+ | NestJS 10.x / 11.x | Events · Events Store · Queues · Commands · Queries | Decorator-driven NestJS microservices | npm i @kubemq/nestjs-transport kubemq-js |
| Spring Boot | Java / Kotlin / JVM 17+ | Spring Boot 3.2.0+ | Events · Events Store · Queues · Commands · Queries | Spring services + Spring Cloud Stream | io.kubemq:kubemq-spring-boot-starter |
| MassTransit | C# / .NET 8.0 | MassTransit 8.5+ | Events · Events Store · Queues · Commands · Queries | KubeMQ as a MassTransit transport | NuGet MassTransit.KubeMQ |
| FastStream | Python 3.11+ | FastStream 0.6.7+ | Events · Events Store · Queues · Commands · Queries | Async, event-driven Python apps | pip install kubemq-faststream |
| Watermill | Go 1.25+ | Watermill | Events · Events Store · Queues · Commands · Queries | Watermill pub/sub + CQRS in Go | go get github.com/kubemq-io/watermill-kubemq |
| Celery | Python 3.10+ | Celery 5.4+ | Queues (tasks) · result backend | Distributed Python task queues | pip install kubemq-celery |
| Ray Serve | Python 3.10+ | Ray Serve 2.50+ | Queues · Queries · Events | Async / sync ML inference | uv pip install kubemq-rayserve |
| .NET Aspire | C# / .NET 8.0 or 9.0 | .NET Aspire 9.0+ | Container provisioning + DI (all patterns via IKubeMQClient) | Provision KubeMQ + wire IKubeMQClient | NuGet KubeMQ.Aspire.Hosting + KubeMQ.Aspire.Client |
| KEDA | Go (cluster service) | KEDA 2.10+ · Kubernetes 1.27+ | Queue-depth (Waiting) metric | Autoscale queue consumers on Kubernetes | Helm kubemq-keda-scaler |
Which integration should I use?
Power users: the comparison matrix above lists every integration's language, framework version, patterns, and install command side by side.
| If you need to… | Use |
|---|---|
| Wire KubeMQ into a NestJS app with decorators & DI | NestJS |
| Add KubeMQ to a Spring Boot service (template + listeners) | Spring Boot |
| Use KubeMQ as a MassTransit transport (.NET) | MassTransit |
| Build async Python apps with the FastStream framework | FastStream |
| Use KubeMQ as a Watermill pub/sub in Go | Watermill |
| Run distributed Python task queues (drop-in Celery broker) | Celery |
| Serve async/sync ML inference on Ray Serve | Ray Serve |
Provision KubeMQ + wire IKubeMQClient in .NET Aspire | .NET Aspire |
| Autoscale queue consumers on Kubernetes by queue depth | KEDA |
Next steps
Messaging Patterns
The four KubeMQ patterns every integration maps onto — Events, Events Store, Queues, RPC.
Connectors
Server-side CloudEvents HTTP gateway and wire-protocol connectors (AMQP, MQTT, STOMP, and more) for callers with no KubeMQ SDK. Looking for A2A or MCP? See Aiway.
Getting Started
Stand up a KubeMQ broker on :50000 before wiring in any integration.
Was this page helpful?