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

Eventstore Client Laravel Package

rxnet/eventstore-client

RxNet EventStore Client integrates EventStoreDB with Laravel, making event sourcing practical in PHP. Append and read events, work with streams, and build event-driven applications through a simple, framework-friendly client API.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: This is not a Laravel package; it is a low-level asynchronous EventStore client with ReactiveX/RxPHP-style APIs. It fits only when EventStoreDB is already a strategic part of the architecture and Laravel is acting as a producer/consumer of events. It does not provide Laravel-native configuration, service providers, facades, migrations, event-sourcing aggregates, projections, or queue integration. Treat it as infrastructure plumbing behind an internal adapter, not as an application framework.

Integration feasibility: Feasible for append/read/subscribe workflows in long-running CLI workers, queue workers, or dedicated daemon processes. It is a poor fit for standard PHP-FPM request lifecycles because reactive/event-loop clients can block, leak, or behave unpredictably per request. Integration effort is moderate to high because the team must own Composer compatibility, connection lifecycle, serialization, retries, and error mapping.

Technical risk: High. The repository is unknown, adoption is low, and the last release was March 2019. That creates material risk around PHP 8+ compatibility, EventStoreDB API compatibility, RxPHP/ReactPHP dependency conflicts, security patching, and Laravel version support. Modern EventStoreDB versions use gRPC and newer client patterns; an older client may target legacy HTTP/Atom APIs or older server versions. License is permissive, but provenance and maintainability are unresolved.

Key questions:

  • Which EventStoreDB server version and protocol does this client target: legacy HTTP/Atom or modern gRPC?
  • Which PHP, Laravel, RxPHP, and ReactPHP versions are supported, and do they install cleanly in the target application?
  • Is the source repository available for audit, or only a Packagist artifact with unknown provenance?
  • Does it support required auth, TLS, persistent subscriptions, catch-up subscriptions, checkpoints, and ordering guarantees?
  • Who will own a fork or vendor patch if the package is abandoned or incompatible?
  • Is EventStoreDB itself strategic, or would a Laravel-native event-sourcing package or managed event service be a better fit?

Integration Approach

Stack fit: Use the client only as a transport adapter. Define application-level interfaces such as EventStoreWriter, EventStoreReader, and SubscriptionRunner; keep RxPHP types and EventStore-specific exceptions out of domain and application code. Run consumers in Laravel queue workers, console commands, or supervised long-running processes rather than web requests.

Migration path: Start with a time-boxed proof of concept against the exact EventStoreDB version in scope. Validate append, read, subscription, reconnect, auth/TLS, and duplicate handling. If successful, wrap the client in Laravel services with configuration, health checks, structured logging, and metrics. If the POC fails, fall back to direct HTTP calls, a maintained fork, or a different EventStoreDB client before committing application code.

Compatibility: Pin the package and all transitive dependencies. Test against the target Laravel and PHP versions in CI, including Composer resolution under the application’s existing dependency graph. Verify container images, EventStoreDB server version, TLS certificates, and credentials. Avoid assuming Laravel auto-discovery; expect manual binding and configuration.

Sequencing:

  1. Confirm EventStoreDB version, protocol, and operational ownership.
  2. Audit or fork the client source; run dependency and security checks.
  3. Build an isolated POC for write, read, and subscription behavior.
  4. Implement a Laravel adapter with connection factory, config, retries, and health checks.
  5. Move consumers to supervised workers with checkpointing and idempotency.
  6. Add observability, load tests, and a documented exit/replacement plan.

Operational Impact

Maintenance: High. The package is effectively unmaintained unless the organization adopts it. Budget for a fork, dependency upgrades, PHP compatibility patches, and EventStoreDB protocol changes. Track it in the SBOM and vulnerability-management process.

Support: Low external support. There is no credible vendor backing indicated, low community adoption, and unknown repository provenance. Internal ownership must be explicit before production use.

Scaling: Possible through horizontal consumers and partitioned subscriptions, but scaling depends on EventStoreDB subscription semantics, checkpoint storage, and worker coordination. Long-running reactive PHP processes require memory limits, restart policies, backpressure handling, and careful concurrency tuning. It is not a natural fit for autoscaled PHP-FPM web tiers.

Failure modes: Expect reconnect storms, dropped or duplicated events, checkpoint loss, subscription lag, unhandled promise/reactive errors, memory growth in long-lived workers, TLS/auth failures, and protocol incompatibility after EventStoreDB upgrades. Laravel request timeouts and worker recycling can interrupt subscriptions unless isolated in dedicated processes.

Ramp-up: Steep. The team needs EventStoreDB concepts, event-sourcing patterns, ReactiveX/RxPHP mental models, and long-running PHP worker operations. A short spike is insufficient; plan for a deliberate enablement phase, reference implementation, runbooks, and on-call ownership before production adoption.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels