Skip to content
Muhammet Şafak
tr

BabelQueue

Ongoing

BabelQueue is a language-agnostic message queue standard that lets services written in different languages share the same queue without getting trapped by serialization lock-in. Instead of language-specific formats like PHP's serialize(), it defines a strict JSON envelope — frozen at schema_version 1 — that every language can read natively. It runs on Redis and RabbitMQ with no sidecar or broker plugin, adding under 2% overhead.

Role
Founder & Developer
Duration
June 2026 — Ongoing

Technologies

JSON Redis RabbitMQ PHP Python Go Node.js Java .NET

Skills

Protocol Design Distributed Systems Message Queue Architecture Cross-Language Interoperability Schema Design Polyglot Programming Software Architecture API Design Distributed Tracing Open Source Maintenance Documentation Specification Authoring

BabelQueue is an open-source message queue standard I built around the principle of “one language produces, another consumes; the same bytes.” One of the most insidious problems in polyglot architectures is that a job written to a queue by one service can’t be read by a consumer in another language: PHP’s serialize(), Python’s pickle, or language-specific type information embedded in the message trap the job inside the language that produced it. BabelQueue breaks this lock-in with a canonical JSON envelope that every language can parse using its standard library. The envelope carries the job identity (a stable, URN-based identifier instead of a class name), a trace_id for distributed tracing, the payload, metadata, and the retry count. The schema is frozen at schema_version 1; the field contract stays stable indefinitely, so a producer written today and a consumer added tomorrow can share the same wire without friction.

The standard was designed to be broker- and language-agnostic: the same envelope travels over Redis and RabbitMQ with interchangeable configuration, requires no new sidecar, proxy, or broker plugin, and adds under 2% overhead to existing infrastructure. It ships with production-ready SDKs and framework adapters for every language — Laravel and Symfony in PHP, Celery and Django in Python, Redis/RabbitMQ transports in Go, BullMQ and NestJS in Node.js, Spring Boot in Java, MassTransit in .NET — distributed through Packagist, PyPI, pkg.go.dev, npm, Maven Central, and NuGet respectively. Adoption is incremental: existing non-BabelQueue jobs keep working untouched, and migration can be done queue by queue. All components were released under the MIT license with v1.0.0.

Search the site

Start typing to search posts, projects and pages.

Esc to close Powered by Pagefind