Introduction

The Go SDK is the framework-agnostic core: a wire-envelope codec, contracts and dead-letter helpers that read and write the exact same strict JSON envelope as every other language in the ecosystem.

At its heart it is the codec: you build (or decode) the canonical envelope and move the bytes with your own broker client, so it works over any broker. On top of that — and still zero-dependency — an optional App runtime (publish/consume/worker loop) and transport modules for all seven brokers are available when you want them.

What you get

  • Canonical, schema-validated JSON envelopes (schema_version: 1) — no language lock-in.
  • A built-in trace_id on every message for cross-service correlation.
  • URN routing (urn:babel:<context>:<event>) on a stable key.
  • Zero dependencies in the core (standard library only) — bring your own broker client.
  • An optional App runtime + transport modules for Redis, RabbitMQ, Amazon SQS, Azure Service Bus, Apache Pulsar, Apache Kafka and Apache ActiveMQ/Artemis — opt in when you want publish/consume instead of just the codec. See Runtime & transports.
  • Framework adapters…/asynq and …/machinery bind the codec to those Go task queues.

Continue to Installation.