v1.3.0
Build event-driven systems: one service publishes an event, any number of other services react to it. Nothing is loaded or required unless you use it. See the Event streaming guide.
Naluz\Messaging:EventBus(publish,dispatch(PublishableEvent)),Consumer,Subscriber,BrokerManager,MessagingServiceProvider.- Consumer groups, at-least-once delivery, per-group retries, dead-letter topics (
<topic>.dlq). - Optional HMAC-SHA256 message signing with key rotation; JSON-only parsing, size and depth limits, topic-name validation.
- Drivers:
memory(tests),redis(Redis Streams, no extra dependency),rabbitmq(php-amqplib/php-amqplib),kafka(ext-rdkafka). - Commands:
messaging:consume,messaging:declare,messaging:publish,make:subscriber. - Skeleton:
config/messaging.phpandMESSAGING_*variables in.env.example.
- Subscribers must be idempotent (delivery is at-least-once).
- Redis Streams is tested against a real Redis; RabbitMQ and Kafka are tested against stand-ins for their client libraries, so try them against your own broker first.
Upgrading
Section titled “Upgrading”composer require naluz/framework:^1.3.0No breaking changes. In an existing application, copy config/messaging.php from the skeleton if you want to use event streaming.