Weave Code
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

Messenger Kafka Laravel Package

akson/messenger-kafka

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Event-Driven Architecture (EDA) Adoption: Enables seamless integration of Kafka as a messaging backbone for decoupled microservices, real-time processing, and event sourcing patterns.
  • Scalability & Performance: Supports high-throughput, low-latency messaging for systems requiring horizontal scaling (e.g., order processing, notifications, analytics pipelines).
  • Build vs. Buy: Avoids reinventing Kafka transport wheels; leverages Symfony Messenger’s ecosystem while extending it with Kafka’s robustness.
  • Roadmap Priorities:
    • Phase 1: Replace legacy RabbitMQ/AMQP transports with Kafka for critical event streams (e.g., user actions, payment events).
    • Phase 2: Implement Kafka REST Proxy for non-PHP services (e.g., frontend, mobile) to unify event consumption.
    • Phase 3: Extend with Avro schemas for cross-team schema evolution and compatibility.
  • Use Cases:
    • Real-time analytics: Stream events to Kafka for downstream processing (e.g., Elasticsearch, Spark).
    • Decoupled workflows: Trigger long-running tasks (e.g., PDF generation, third-party API calls) via Kafka topics.
    • Fault tolerance: Leverage Kafka’s retention policies for replaying failed messages.

When to Consider This Package

  • Adopt if:
    • Your stack already uses Symfony Messenger and you need Kafka integration without heavy custom development.
    • You require high-throughput, durable messaging with Kafka’s partitioning, retention, and consumer group features.
    • Your team prioritizes event-driven architecture over request-response patterns.
    • You’re willing to invest in custom serializers (e.g., JSON, Avro) to fit your message formats.
  • Look elsewhere if:
    • You need active maintenance (last release: 2021; consider forking or alternatives like symfony/kafka-messenger).
    • Your team lacks Kafka expertise (setup, tuning, and monitoring add complexity).
    • You require Kafka REST Proxy (not yet supported; may need a workaround like Confluent REST Proxy).
    • You’re using non-Symfony PHP (e.g., Laravel; alternatives like rdkafka/rdkafka may fit better).

How to Pitch It (Stakeholders)

For Executives:

"This package lets us replace our current message queues with Kafka—scaling to millions of events per second while reducing coupling between services. It’s a drop-in for Symfony Messenger, so our devs can focus on business logic, not infrastructure. Early adoption here aligns with our EDA roadmap and cuts costs by avoiding custom Kafka integrations. The MIT license and open-source community mitigate risk."

For Engineering:

*"We’re adding a Kafka transport for Symfony Messenger to:

  • Replace RabbitMQ for high-volume event streams (e.g., orders, notifications) with better scalability.
  • Unify event consumption across services via Kafka topics, reducing direct service dependencies.
  • Support Avro schemas later for schema evolution without breaking changes. Tradeoffs: Minimal maintenance (last update 2021), but we can fork or switch to symfony/kafka-messenger if needed. Setup requires Kafka expertise, but we’ll document configs and CI checks."*

For Architects:

*"Key benefits:

  • Performance: Kafka’s partitioning and batching outperform AMQP for high-throughput workloads.
  • Resilience: Consumer groups and offset management simplify fault tolerance.
  • Future-proof: Aligns with our EDA strategy and supports REST Proxy (when available). Risks: Limited maintenance; recommend pairing with monitoring (e.g., Prometheus for Kafka metrics) and a rollback plan to RabbitMQ."*
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.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours