# Replace your messaging stack (/deploy/scenarios/replace)



Already running one of these brokers? Point your existing client at KubeMQ instead of
rewriting it — change one connection string (or set an environment variable), keep your
code, and your app keeps speaking the same wire protocol it already speaks.

## Pick your broker [#pick-your-broker]

<Cards>
  <Card title="Kafka" href="/deploy/scenarios/replace/replace-kafka" description="Repoint bootstrap.servers at KubeMQ's embedded Kafka engine — native clients connect unchanged." />

  <Card title="RabbitMQ" href="/deploy/scenarios/replace/replace-rabbitmq" description="Swap the AMQP 0-9-1 connection string — exchanges, queues, and bindings carry over." />

  <Card title="AWS SQS & SNS" href="/deploy/scenarios/replace/replace-sqs-sns" description="Point the AWS SDK or CLI at KubeMQ's drop-in SQS/SNS endpoint — no rewrite." />

  <Card title="MQTT" href="/deploy/scenarios/replace/replace-mqtt" description="Change the broker host — MQTT 3.1.1 and 5.0 clients connect unchanged." />

  <Card title="Google Cloud Pub/Sub" href="/deploy/scenarios/replace/replace-gcp-pubsub" description="Set PUBSUB_EMULATOR_HOST — an unmodified Pub/Sub client publishes and pulls." />

  <Card title="STOMP" href="/deploy/scenarios/replace/replace-stomp" description="Change the STOMP broker host — every destination type maps." />

  <Card title="JMS" href="/deploy/scenarios/replace/replace-amqp-1-0#jms" description="Swap your JMS ConnectionFactory to Apache Qpid JMS over KubeMQ's AMQP 1.0 connector." />

  <Card title="ActiveMQ" href="/deploy/scenarios/replace/replace-amqp-1-0#activemq" description="Java/JMS apps ride AMQP 1.0; non-Java apps repoint over STOMP or MQTT instead." />

  <Card title="AMQP 1.0" href="/deploy/scenarios/replace/replace-amqp-1-0#native-amqp-1-0" description="Point a native AMQP 1.0 client — go-amqp and others — at KubeMQ; queues, topics, and RPC all map." />
</Cards>

## Drop-in levels [#drop-in-levels]

Each card above states its **drop-in level** — how much application change the move
requires: **endpoint-only** — change the host/port or an env var; client + code
unchanged. **client-swap** — swap the client library; app code mostly unchanged.
**partial-rewrite** — some app-level changes beyond the client/endpoint.

Full definitions and the cross-protocol matrix live in the
[migration hub](/connectors/how-to/migration).
