arkemlar/kafka-symfony-transport
doctrine, amqp) with minimal config changes.ext-rdkafka (v5+) for Kafka client (requires librdkafka installation; may need OS-level setup).SerializerComponent (e.g., JSON, XML). May need tuning for complex payloads (e.g., circular references, large binaries).| Risk Area | Severity | Mitigation |
|---|---|---|
| Kafka Cluster Complexity | High | Requires expertise in Kafka (topics, partitions, ACLs, consumer groups). |
ext-rdkafka Setup |
Medium | OS-specific (e.g., pecl install rdkafka, Docker/K8s sidecars for librdkafka). |
| Symfony Version Lock | Low | Minor risk if using Symfony 6.1+; upgrade path exists but may require testing. |
| Message Retry Logic | Medium | Kafka lacks built-in retries; relies on Symfony Messenger’s retry middleware. |
| Monitoring/Governance | High | Kafka lacks native metrics; needs Prometheus/Grafana integration for lag, throughput. |
| Schema Evolution | Medium | No built-in Avro/Protobuf support; manual schema management required. |
async, doctrine).transport config to switch transports:
# config/packages/messenger.yaml
framework:
messenger:
transports:
kafka_transport:
dsn: 'kafka://localhost:9092?topic=my_topic'
options:
group_id: 'my_group'
serializer: 'symfony.serializer'
retry_strategy:
max_retries: 3
delay: 1000
async → kafka).stamp_message, handle_message).ext-rdkafka (e.g., pecl install rdkafka or Docker image with librdkafka).composer require arkemlar/kafka-symfony-transport.messenger.yaml (see above).confluentinc/cp-kafka Docker).make:messenger:message).ext-rdkafka and symfony/messenger may require periodic updates.kafka-console-consumer, kafkacat).Serializer or custom logic.ext-rdkafka is a hard dependency.batch_size and linger_ms in config for throughput.compression_type (e.g., gzip, snappy) in transport options.How can I help you explore Laravel packages today?