Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Enqueue Rdkafka Serializer Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Event-driven architecture standardization. If you're building a Symfony service that both produces and consumes Kafka messages through the 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.
  • Build vs. buy vs. fork for serialization glue. This is still a thin configuration bundle, not a serializer implementation. The decision it informs is whether to write the Symfony DI wiring yourself, adopt this package, or fork it. 2.4.0 slightly moves the needle on "build": for teams whose target format is Avro, the auto-setup removes a meaningful chunk of the DIY work — but the package remains best treated as a reference implementation for per-transport enqueue + RdKafka serializer wiring, not a dependency to install.
  • Multi-transport / multi-client topology decisions. The pattern this bundle encodes (serializer as a per-transport concern rather than a global default) remains the right architectural shape if your roadmap includes heterogeneous Kafka usage — JSON for internal events, Avro for high-volume or contract-heavy topics, separate clusters with different contracts. 2.4.0 reinforces this by making Avro a first-class per-transport choice rather than a custom code path.
  • Message contract and schema evolution planning. Choosing where serializer configuration lives is an early, cheap decision that becomes expensive later. Per-client divergence matters when teams migrate formats incrementally rather than in a big-bang cutover — and an Avro-capable path makes incremental migration to a binary format more plausible.
  • Partially a decision driver for Avro record encoding — still not for schema registries. The new auto-wiring covers the record serializer layer. It does not add a Confluent/Apicurio registry client, schema resolution, compatibility checking, or versioning policy. If registry integration is on your roadmap, this package gets you closer on the encode side but remains orthogonal to the registry decision.

When to Consider This Package

Consider it as prior art / reference code when all of the following hold:

  • Your stack is Symfony + enqueue + RdKafka specifically, and you need per-client/per-transport serializer configuration.
  • Avro is your intended wire format — 2.4.0's auto-setup of AvroRecordSerializer is the single most reusable piece of configuration logic in the repo.
  • You are willing to vendor or fork the code. A 2.4.0 release has appeared, which is a positive signal that the project is not entirely dormant, but a single minor feature release does not establish a maintenance cadence — verify current commit activity, PHP 8+/Symfony 6+ compatibility, and open-issue responsiveness yourself before relying on it.

Look elsewhere — or build in-house — when:

  • You need a maintained dependency with a credible support commitment. One minor release and thin adoption (previously 1 star, 0 dependents) will not clear most dependency review gates; treat the release as a reason to re-check, not a reason to adopt.
  • You require full schema registry integration (Confluent, Apicurio), schema resolution at runtime, compatibility enforcement, or contract testing support. 2.4.0 does not deliver these.
  • Your organization's dependency policy requires active maintenance, CVE response, or a minimum adoption signal.
  • You are not already committed to the enqueue abstraction; adopting it just to use this bundle inverts the decision.
  • You need observability, retry/DLQ semantics, or serializer-level metrics — still out of scope.
  • You are on modern PHP/Symfony and cannot absorb the upgrade work implied by a codebase whose last public release before this one was 2019.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource