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
Kafka Bundle

Kafka Bundle Laravel Package

geekcell/kafka-bundle

GeekCell Kafka Bundle integrates Apache Kafka with Symfony applications, offering configuration and service wiring for producers and consumers. Simplify message publishing and consumption in PHP projects.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Kafka Bundle
Does geekcell/kafka-bundle work in a Laravel application?
No. geekcell/kafka-bundle is a Symfony bundle and depends on Symfony's bundle registration lifecycle, the DependencyInjection Extension contract and TreeBuilder configuration wiring, none of which exist in Laravel. Laravel consumes individual Symfony components but has no bundles.php or extension autoloading, so the package's core value, turning configuration into wired producer and consumer services, is inert. Making it work means either hosting a fragment of the Symfony DI container inside Laravel or hand-porting its Extension and Configuration classes into a ServiceProvider, which in practice is a fork.
How do I install and configure geekcell/kafka-bundle?
Installation is a Composer require plus registration in config/bundles.php and a YAML configuration file for the bundle extension, which defines each producer and consumer as a container service. Configuration is expressed in Symfony's TreeBuilder format rather than a Laravel config/kafka.php file, so the schema does not transfer directly. The repository is archived, so expect PHP 8.3/8.4 and Symfony 6.4/7 constraint problems before you reach a first publish.
Is geekcell/kafka-bundle still maintained?
No. The repository is archived with roughly 2 stars, no dependents and no released successor. Archived status means no upstream bug fixes, no compatibility work for newer PHP or Symfony releases and no CVE feed, so a clean vulnerability scan is a false negative rather than a clean bill of health. That risk is difficult to justify for anything on a payment or event-critical path.
Which PHP and Symfony versions does geekcell/kafka-bundle support?
The bundle carries 2023-era constraints and has received no widening for PHP 8.3/8.4 or Symfony 6.4/7 since being archived. Modern Laravel releases pin Symfony components at ^6.x or ^7.x, so Composer will likely report unresolvable conflicts. Run composer why-not geekcell/kafka-bundle before assuming it installs, and treat pinning transitive dependencies to force it through as a supply-chain smell rather than a fix.
What should I use instead of geekcell/kafka-bundle in Laravel?
The commonly cited options are mateusjunges/laravel-kafka, enqueue/rdkafka, or a thin first-party wrapper over the ext-rdkafka extension. The right choice depends on whether you only need producer-style publishing or full consumer groups with at-least-once delivery guarantees, and on who will own offset commits and dead-letter policy. If your need is producer-only, a few hundred lines of in-house glue is often lower risk than adding an unmaintained dependency.
How do producers and consumers work in geekcell/kafka-bundle?
You declare producers and consumers in configuration and the bundle registers them as services in the Symfony container, so application code dispatches and handles messages through normal dependency injection and autowiring. It is a configuration-driven layer over the Kafka client rather than a new protocol implementation, and it supports multiple brokers and clusters. The genuinely reusable part for other frameworks is the configuration schema itself, which documents a previously working arrangement of client options.
Does geekcell/kafka-bundle support custom serializers and deserializers?
Yes. The bundle exposes extensible interfaces for serializers and message handlers, so payload encoding and object hydration can be replaced with your own implementations. That flexibility is also the risk surface: deserialization glue that hydrates objects from untrusted broker payloads needs active maintenance, and this repository no longer receives any. Audit any inherited serializer with the same rigour you would apply to request deserialization.
Can I port geekcell/kafka-bundle to a Laravel ServiceProvider?
You can, but the only defensible route is a deliberate manual port: read DependencyInjection/Configuration.php and the Extension class, inventory every configuration key, default and wired service, then reimplement them as a KafkaServiceProvider with a published config/kafka.php and a facade. That work is typically a few hundred lines and gives you a contract-first API you control, such as a publish method on a producer interface and explicit commit semantics on a consumer interface. The catch is that once you have done it you have forked the package, so budget for owning it indefinitely instead of treating it as a dependency.
What are the production risks of running geekcell/kafka-bundle?
The risks stack: abandonment with no fixes or security feed, an implicit dependency on ext-rdkafka and librdkafka where offset commit semantics, partition assignment and broker TLS/SASL remain your problem, and knowledge concentration in whoever understands the ported internals. Because Kafka access runs through a C extension, a segfault takes down the whole PHP worker process rather than a single request, so the blast radius is the entire consumer pool. On a payment or event-critical path, expect to own client lifecycle, schema evolution and dead-letter policy on your side regardless.
How do I test Kafka producers and consumers built with geekcell/kafka-bundle?
Because producers and handlers resolve as ordinary services from the container, you can unit-test serializers and message handlers in isolation by injecting a fake producer or an in-memory transport. Broker-level behaviour such as rebalances, commit semantics and retry handling needs a real Kafka instance, usually supplied through testcontainers or a docker-compose service in CI. Given the upstream repository is archived, document that test suite as first-party code you own alongside any ported implementation.
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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package