# BabelQueue

> BabelQueue, farklı dillerde yazılmış servislerin aynı kuyruğu serileştirme kilidine takılmadan paylaşmasını sağlayan, dilden bağımsız bir mesaj kuyruğu standardıdır. PHP'nin serialize()'ı gibi dile özgü formatlar yerine; her dilin doğal olarak okuyabildiği, schema_version 1'de dondurulmuş katı bir JSON zarfı tanımlar. Redis ve RabbitMQ üzerinde, sidecar ya da broker eklentisi olmadan, %2'nin altında ek yükle çalışır.

- Rolüm: Founder & Developer
- Sınıf: Amiral Gemileri
- Durum: Devam ediyor
- Başlangıç: 2026-06-15
- Teknolojiler: JSON, Redis, RabbitMQ, PHP, Python, Go, Node.js, Java, .NET
- Yetenekler: 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
- Web sitesi: https://babelqueue.com
- Kaynak kodu: https://github.com/BabelQueue
- Kaynak: https://www.muhammetsafak.com.tr/portfolyo/babelqueue/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
BabelQueue, "bir dil üretir, başka bir dil tüketir; aynı baytlar" ilkesi etrafında geliştirdiğim açık kaynak bir mesaj kuyruğu standardıdır. Polyglot mimarilerde en sinsi sorunlardan biri, bir servisin kuyruğa yazdığı işin başka bir dildeki tüketici tarafından okunamamasıdır: PHP'nin `serialize()`'ı, Python'un `pickle`'ı ya da mesaja gömülen dile özgü tip bilgisi, işi üreten dilin içine hapseder. BabelQueue bu kilidi, her dilin standart kütüphanesiyle ayrıştırabildiği kanonik bir JSON zarfıyla kırar. Zarf; iş kimliğini (sınıf adı yerine kararlı, URN tabanlı bir tanımlayıcı), dağıtık izleme için `trace_id`'yi, veri yükünü, metadata'yı ve deneme sayısını taşır. Şema `schema_version 1`'de dondurulmuştur; alan sözleşmesi süresiz olarak stabil kalır, böylece bugün yazılan bir üretici ile yarın eklenen bir tüketici aynı teli sorunsuz paylaşır.

Standart, broker'dan ve dilden bağımsız olacak şekilde tasarlandı: aynı zarf Redis ve RabbitMQ üzerinde değiştirilebilir konfigürasyonla taşınır, yeni bir sidecar, proxy ya da broker eklentisi gerektirmez ve mevcut altyapıya %2'nin altında ek yük getirir. Her dil için üretime hazır birer SDK ve framework adaptörüyle gelir — PHP'de Laravel ve Symfony, Python'da Celery ve Django, Go'da Redis/RabbitMQ transport'ları, Node.js'te BullMQ ve NestJS, Java'da Spring Boot, .NET'te MassTransit — ve sırasıyla Packagist, PyPI, pkg.go.dev, npm, Maven Central ve NuGet üzerinden dağıtılır. Benimseme artımlıdır: BabelQueue olmayan mevcut işler bozulmadan çalışmaya devam eder, geçiş kuyruk kuyruk yapılabilir. Tüm bileşenler v1.0.0 ile MIT lisansı altında yayımlanmıştır.
