skip to content
szczecin 53.43N 14.55E ./start-project

symfony-nats-messenger 5.4.1

A Symfony Messenger transport for NATS JetStream: reliable asynchronous messaging with persistent message streaming.

open source · mitfreephp 8.2+ + symfony 7.2+ / 8 + nats jetstream
SYMFONY-NATS-MESSENGER(1)User CommandsSYMFONY-NATS-MESSENGER(1)

NAME

symfony-nats-messenger - a Symfony Messenger transport for NATS JetStream: reliable asynchronous messaging with persistent message streaming

DESCRIPTION

symfony-nats-messenger implements Messenger's TransportInterface and the count, setup, keepalive and close interfaces on top of NATS JetStream, so a Symfony application can send and consume messages with JetStream durability.

It is built on php-nats-jetstream-client and tested hard: 528 unit tests at about 99.6% coverage, a mutation gate at 96% MSI and Behat scenarios against live NATS servers.

FEATURES

nats-jetstream://
One DSN per transport: host, port, stream and topic, plus consumer, batching and timeout options.
--deduplicate
Nats-Msg-Id stamps let JetStream drop copies Symfony re-sends after a timeout, across transports on one stream.
--schedule
Delayed and scheduled messages with NATS 2.12+.
--consumers
Several consumer strategies, with adjustable batch sizes and timeouts.
--keepalive
Long-running handlers keep their messages with messenger:consume --keepalive.
igbinary
A fast IgbinarySerializer, plus a base class for your own serializers.
--stream
Configurable retention policies and replication for the stream it provisions.
--auth
Built-in support for NATS authentication and TLS.

$ symfony-nats-messenger --price

free

  • Free to use in commercial and personal projects
  • Source code on GitHub under the MIT license

$ symfony-nats-messenger --sponsor

symfony-nats-messenger is free.
A coffee keeps it moving.

If symfony-nats-messenger saves you time, you can support its development. It pays for the hours that go into fixes and new releases.

$ symfony-nats-messenger --install

v5.4.1 · release notes ↗

# install: PHP 8.2+, Symfony 7.2 or 8, NATS 2.9+ with JetStream $ composer require idct/symfony-nats-messenger
github ↗