Weave 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

Php Nats Jetstream Client Laravel Package

idct/php-nats-jetstream-client

A PHP client for NATS JetStream, the persistent streaming layer of NATS. Publish and consume messages, manage streams and consumers, and handle acknowledgements from Laravel or plain PHP applications through a simple, idiomatic API.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Messaging backbone selection for PHP services. This package is the deciding artifact if your team is weighing NATS/JetStream against Kafka, RabbitMQ, or Redis Streams for event-driven work. It gives PHP first-class access to core NATS pub/sub, JetStream durable consumers, KeyValue, and ObjectStore — meaning one dependency can cover eventing, lightweight config/distributed cache, and small binary artifact storage instead of stitching three systems together.
  • Async-first architecture commitments. The library is built on Amp 3.x end to end. Adopting it is effectively a decision that your PHP services will run on an event loop. That is a platform-level choice (framework, hosting, blocking-I/O audit), not a library choice — treat it as such in roadmap planning.
  • Internal service contract standardization. src/Services/ provides a microservice framework with endpoint registration, schema validation, and service grouping. This supports a "define our internal RPC/event contract once" initiative and can replace ad-hoc HTTP wrappers between PHP services.
  • Build vs. buy for a client driver. You are buying (open source) a wire protocol, auth (token, user/pass, TLS, NKey, JWT), reconnect, and JetStream API surface. Building that in-house is a multi-quarter effort with subtle protocol and auth pitfalls — this is a strong buy signal if you accept the maintenance risk below.
  • Use-case fit: order/fulfillment event fan-out, telemetry ingestion from PHP edge services, background job distribution where JetStream's at-least-once delivery and replay beat a Redis queue, and small-asset storage via ObjectStore without standing up S3 access from PHP workers.
  • Roadmap gating: any commitment here implies budgeting for fixture infrastructure (Docker Compose NATS with the five auth variants), contract tests, and a fork-ready posture. Plan that as a line item, not a footnote.

When to Consider This Package

Adopt when all of the following hold:

  • You are on PHP 8.2+ and either already run Amp/Revolt, or are deliberately moving a service tier to async PHP.
  • NATS is already (or is about to become) strategic infrastructure — you are not choosing a broker solely because of this client.
  • You need JetStream semantics (durable consumers, replay, KV, ObjectStore) rather than simple fire-and-forget queues.
  • You have engineering capacity to own a low-adoption dependency: pin versions, run the integration suite in your CI, and maintain a fork if upstream stalls.
  • BSD-3-Clause is acceptable to legal (it is permissive and uncontroversial).

Look elsewhere when:

  • Adoption maturity is a hard requirement. 8 stars and 0 dependents means zero ecosystem pressure-testing. There is no crowd of production users finding edge cases for you.
  • You want a Laravel-native path. If the real need is queues and jobs inside Laravel, Laravel's queue system with Redis/SQS plus Horizon is the lower-risk, better-supported answer. This package is not a Laravel queue driver; using it means building that integration yourself.
  • Your team has no Amp/event-loop experience. Blocking calls silently degrade the whole model, and the failure mode is latency, not an exception.
  • You need enterprise support, SLAs, or a security-response process with named owners.
  • Synchronous request/response with simple retries is the actual requirement — the async, connection-managed model is more machinery than the problem needs.
  • Metadata diligence flag: the listed last release (2026-10-17) is inconsistent with a normal release cadence. Verify the actual release/commit history, open-issue count, and recent maintainer activity before any commitment — do not take the score at face value.

How to Pitch It (Stakeholders)

To executives: This is a free, permissively licensed PHP client for NATS/JetStream. It would let us consolidate three concerns — event streaming, a small key-value store, and small-object storage — onto one broker, reducing infrastructure surface area and vendor spend. The trade-off is honest: a very small user base (8 stars, no downstream dependents) means we would be the primary owner of any problems. Recommend it only if NATS is already a strategic platform bet; otherwise pilot it behind an internal abstraction so the decision stays reversible.

To engineering: The engineering quality is materially better than its popularity suggests. Strict types throughout, PHPStan at level 8 across source and tests, PHPUnit 11 plus Behat end-to-end suites, and a Docker Compose fixture stack that exercises token, user/pass, TLS, NKey, and JWT auth against a real server — including reconnect and resilience scenarios. That is a well-tested protocol, auth, and JetStream implementation, not a weekend wrapper. The caveats: Amp 3.x is mandatory (no blocking calls anywhere in the call path), the API is async-first so onboarding has a real learning curve, and bus factor is the dominant risk.

Recommended framing: Pilot, don't standardize. Run one non-critical service against it behind a thin internal messaging interface, pin the version, wire the E2E suite into our CI, and set a 90-day review checkpoint on upstream maintenance activity. If it holds, expand; if upstream goes quiet, the abstraction lets us swap out with bounded cost.

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.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk