flaconi/enqueue-rdkafka-serializer-bundle
Symfony bundle integrating the Enqueue RDKafka serializer, simplifying configuration of Kafka message serialization in Symfony apps via service wiring and bundle config.
enqueue abstraction, this bundle centralizes serializer configuration so each client/transport can use a different serialization format without copy-pasting config across producers and consumers. Release 2.4.0 sharpens this: selecting AvroSerializer now auto-wires AvroRecordSerializer, so the Avro path is configured for you rather than assembled by hand.Consider it as prior art / reference code when all of the following hold:
enqueue + RdKafka specifically, and you need per-client/per-transport serializer configuration.AvroRecordSerializer is the single most reusable piece of configuration logic in the repo.Look elsewhere — or build in-house — when:
enqueue abstraction; adopting it just to use this bundle inverts the decision.For executives: This is a small, MIT-licensed Symfony configuration bundle that standardizes how Kafka messages are serialized across clients and transports. A new minor release (2.4.0) adds automatic Avro record-serializer setup — useful, but a narrow feature. It does not change the strategic picture: community adoption remains negligible, and one release does not constitute a maintenance commitment, so it is still not a candidate for direct dependency. Its value to us is architectural: it demonstrates a clean pattern for keeping serialization a per-transport concern, now with a worked Avro example. Recommendation: do not adopt; use as a design reference and implement the equivalent configuration in-house — still roughly a day of engineering, now with a proven Avro wiring pattern to copy, and no long-term maintenance exposure.
For engineering: The bundle wires enqueue's serializer services into Symfony DI on a per-client/per-transport basis rather than forcing one global serializer; 2.4.0 extends that so choosing AvroSerializer automatically brings up AvroRecordSerializer, which is exactly the boilerplate we'd otherwise hand-write. Note what it still doesn't do: no schema registry client, no schema resolution, no compatibility checks. Treat it as a snapshot of a good pattern plus a concrete Avro wiring reference; reimplement the DI configuration against our current Symfony and enqueue versions, add registry integration if we need it, and write a short ADR capturing the per-transport decision so future teams don't re-litigate it. Worth a 15-minute look at the 2.4.0 diff before we close the evaluation.
How can I help you explore Laravel packages today?