- Does koco/messenger-kafka work with Laravel?
- It can work with Laravel, but it is a Symfony Messenger transport rather than a native Laravel queue driver. You would install symfony/messenger, bind MessageBusInterface and transport configuration in a service provider, dispatch through the bus instead of Laravel's dispatch helper, and run a custom worker around messenger:consume. For a conventional Laravel codebase this adds a second messaging stack, so it is only a strong fit if your organization already standardizes on Symfony Messenger semantics.
- Is koco/messenger-kafka a Laravel queue driver for Kafka?
- No. Laravel's Illuminate Queue abstraction and Symfony Messenger's TransportInterface are different contracts: jobs versus envelopes, failed_jobs versus Messenger's failure transport, and queue:work or Horizon versus messenger:consume. The package does not plug into config/queue.php connections or Laravel's queue worker commands. Adopting it means running Messenger alongside Laravel's native queue system rather than extending the queue system Laravel teams already operate.
- How do I install and configure koco/messenger-kafka in a Laravel application?
- Install it with Composer alongside symfony/messenger, then register a MessageBusInterface binding and the Kafka transport configuration in a service provider. Dispatch messages through the Messenger bus and create a long-running Artisan command that wraps or invokes messenger:consume. Kafka broker, topic, consumer group, offset, and serializer settings live in Messenger transport options rather than config/queue.php, so document that configuration carefully.
- Which Laravel and Symfony versions does koco/messenger-kafka support?
- The package does not declare Laravel framework support because it targets Symfony Messenger, so Laravel compatibility depends on PHP and the Symfony Messenger version your app can install. Version 0.19 says it supports maintained Symfony versions, but you should check composer.json for the exact Symfony constraints before upgrading. Because this is a 0.x package, a dependency-support change may legitimately drop older Symfony majors and be breaking for an existing pinned install.
- Can I use Laravel Horizon, job batching, and failed_jobs with koco/messenger-kafka?
- No, those are Laravel queue features and are not provided by this Symfony Messenger transport. You lose Horizon supervision, job batching and chaining, retryUntil, middleware-driven rate limiting, and the failed_jobs dashboard unless you build equivalents. Messenger has its own failure transport and consumer model, so retries, monitoring, and supervision must be designed around messenger:consume.
- How do I configure Kafka topics, consumer groups, and serializers with koco/messenger-kafka?
- Configure them through Symfony Messenger transport options or DSN settings, not through Laravel's config/queue.php. The package exposes configurable topic, consumer group, and serializer options, and those settings belong with the Messenger transport definition. Keep this configuration in one documented place because operational settings will otherwise fragment across Laravel and Messenger configuration.
- How do I test koco/messenger-kafka in a Laravel or Symfony application?
- Use Messenger's in-memory transport for unit tests of handlers and bus wiring, and reserve the Kafka transport for integration tests. Integration tests need a real Kafka broker or a containerized broker, because a CI migration to GitHub Actions does not by itself prove broker-level coverage. Check what the workflow actually runs before treating the package as well tested.
- Is koco/messenger-kafka production-ready and actively maintained?
- The project is alive but not proven at scale: it has low stars, zero dependents, and a single maintainer, so the bus factor is one. Version 0.19 shows self-maintenance, maintained Symfony support, and a GitHub Actions CI migration, which reduces but does not eliminate technical risk. There is no public evidence of large production usage, so pin versions, review the CI coverage, and keep a fallback plan.
- What Kafka client does koco/messenger-kafka require, and do I need ext-rdkafka?
- Check the package's composer.json for the exact Kafka client dependency and PHP extension requirements before adopting it. It may require ext-rdkafka or another client library, which must be present in your runtime and CI images. Confirm this early because missing native extensions are a common deployment blocker for PHP Kafka integrations.
- What are the alternatives to koco/messenger-kafka for Laravel Kafka messaging?
- For a conventional Laravel application, evaluate Laravel-native Kafka queue drivers or packages that integrate with config/queue.php and queue:work, or use a direct rdkafka-based producer and consumer where appropriate. If your organization has standardized on Symfony Messenger contracts across PHP services, this transport is a reasonable fit. Otherwise, adopting it means maintaining a second messaging stack alongside Laravel's native queue system.