rossel/rossel-kafka
rossel/rossel-kafka provides Kafka integration for Laravel and PHP applications, helping you configure producers and consumers, publish messages to topics, and process Kafka events using familiar Laravel conventions. Useful for event streaming and service-to-service messaging.
Framework fit (corrected by 0.7.0): Release notes confirm this is a Symfony bundle — composer type is now symfony-bundle, RosselKafkaBundle extends AbstractBundle, and registration happens via config/bundles.php/Flex. Despite the Laravel framing in earlier drafts, this is not a Laravel package. Any roadmap item targeting Laravel services needs a separate adapter decision; scope this assessment to Symfony/PHP services only.
rossel:kafka:listen — it is logged, acknowledged, and skipped. Without a dead-letter path or alerting, failed events silently disappear. Product must decide, per topic, whether silent-skip is acceptable (telemetry, low-value events) or requires a DLQ, retry topic, or replay tooling before go-live.MessageHeadersInterface, RdKafkaMessageWrapperInterface, UnsupportedTopicException, logger-free MessageFactory, removed extension/Configuration/services.yaml, ValueError instead of BadRequestException, and broker/producer config now mandatory. Budget a migration spike and a coordinated rollout window per consuming service; do not adopt without pinning versions.enqueue/enqueue-bundle and enqueue/fs shrinks the supply chain and audit scope — a security/compliance talking point, but a hard break for any team that relied on the pre-configured default transport.producer.send_log_messages (default true) lets teams suppress EXEC_* log volume; the one-log-per-message change makes log-based metrics and cost predictable. Pair with a decision on where delivery failures surface.UPGRADE-0.7.md migration, and can coordinate restarts across consumers.EnqueueBundle, drop references to the deleted interfaces and extension classes, make broker/producer config explicit, and expect ValueError from MessageType::from(). Two behavioral changes dominate design: consumers must be idempotent (auto-commit off, at-least-once on restart) and failures no longer stop the listener (message logged, ACKed, skipped) — so build dead-letter/retry/alerting alongside any critical topic. Wrap the bundle so Kafka types don't leak across domains; keep payload decoding in your own layer since bodies now arrive verbatim.UPGRADE-0.7.md, a support/maintenance check with the named owner, and written acceptance of duplicate-delivery and failed-message-skip behavior for each topic. Add idempotency and DLQ requirements to the definition of done for every consuming feature. If Rossel Kafka is not the target platform — or the team is on Laravel — defer and use a standard client or queue instead.How can I help you explore Laravel packages today?