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

Event Driven Kafka Messenger Transport Laravel Package

alvarorosado/event-driven-kafka-messenger-transport

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Event-Driven Architecture: Enables seamless integration of Kafka for event streaming, supporting real-time data processing, event sourcing, and CQRS patterns.
  • Microservices Communication: Facilitates decoupled communication between services via Kafka topics, reducing direct service dependencies.
  • Build vs. Buy Decision: Eliminates the need to build a custom Kafka transport for Symfony Messenger, saving development time and reducing technical debt.
  • Roadmap for Scalability: Supports gradual migration from existing Kafka transports (via ed+kafka:// DSN prefix) and future-proofs event-driven workflows.
  • Use Cases:
    • Event Sourcing: Store domain events in Kafka for auditability and replayability.
    • Real-Time Processing: Stream events to consumers (e.g., notifications, analytics) without polling.
    • Multi-Topic Selective Consumption: Process only relevant events from shared topics (e.g., ignore user_deleted events in one service while processing them in another).
    • Hybrid Serialization: Use JSON for interoperability while leveraging Symfony’s native serialization for internal messages.

When to Consider This Package

  • Adopt When:

    • Your application uses Symfony Messenger and requires Kafka integration for event streaming.
    • You need flexible topic routing (e.g., multi-topic support, selective event consumption).
    • Your team prioritizes JSON serialization for cross-service compatibility or custom serialization (e.g., for APIs).
    • You want to avoid outdated Kafka transports or proprietary solutions.
    • Your architecture includes event sourcing, CQRS, or real-time data pipelines.
    • You require granular control over Kafka producers/consumers (e.g., partition keys, custom headers, SASL/SSL security).
  • Look Elsewhere When:

    • You’re not using Symfony Messenger (this package is tightly coupled to it).
    • Your Kafka use case is simple (e.g., single-topic, no routing complexity) and existing transports suffice.
    • You need advanced Kafka features not supported here (e.g., schema registry, exactly-once semantics beyond idempotence).
    • Your team lacks PHP/Symfony expertise to implement stamps/hook systems for advanced mode.
    • You require Kafka Streams or KSQL integration (this package focuses on messaging, not stream processing).

How to Pitch It (Stakeholders)

For Executives: *"This package lets us leverage Kafka as a scalable, real-time event backbone for our Symfony applications—without reinventing the wheel. It simplifies event-driven architecture by handling serialization, routing, and security (SASL/SSL) out of the box. For example, we can use it to:

  • Decouple services (e.g., notifications, analytics) via Kafka topics, reducing direct API calls.
  • Enable event sourcing for audit trails and replayability, critical for compliance.
  • Scale horizontally by processing only relevant events from shared topics (e.g., one service handles user_created, another ignores it). The ed+kafka:// prefix even lets us test it alongside existing Kafka tools safely. It’s a drop-in solution that saves months of dev time while future-proofing our event infrastructure."*

For Engineering: *"This is a production-ready Kafka transport for Symfony Messenger that solves key pain points:

  • No more outdated packages: Unlike alternatives, this is actively maintained and supports Symfony 5–7 + PHP 8.0+.
  • Selective consumption: Route specific event classes from multi-type topics (e.g., ignore user_deleted in one service).
  • JSON serialization by default: Works out of the box for APIs; optional custom serializers for complex objects.
  • Hook system: Extend behavior via KafkaTransportHookInterface (e.g., add tenant IDs to headers, validate messages).
  • Safe migration: Use ed+kafka:// to coexist with existing Kafka tools during evaluation. Trade-offs:
  • Requires implementing stamps/hooks for advanced mode (but provides a clear pattern).
  • Retries are handled via Symfony’s failure transport (not Kafka-native), which is more reliable for complex workflows. Recommendation: Pilot this for a high-value event stream (e.g., user events) and compare it to our current setup. If it reduces coupling and improves scalability, we should adopt it for new projects."*
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.
nasirkhan/laravel-sharekit
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony