iperamuna/laravel-hypercacheio
Laravel package that integrates HyperCache.io as a native cache driver, letting you store, retrieve, and invalidate cached data through Laravel’s familiar Cache facade with simple configuration and no custom boilerplate.
Architecture fit. v2.2.8 is a patch release for the queue subsystem in an Active-Active HA configuration. The meaningful signal is that the release artifacts are Go (main.go), while the package is consumed from Laravel/PHP — i.e. this is a hybrid deployment: a PHP-facing queue driver/client plus a Go queue engine with per-node SQLite persistence and peer-to-peer replication. Any assessment of "the package" must scope whether the Go component is shipped, built, or operated by the adopting team. That scoping question dominates architecture fit more than the bug fix itself.
Integration feasibility. Low-friction in principle. The changes are internal to the replication handlers and persistence layer; there are no stated API, schema-migration, or configuration changes. Two behavioral changes matter: (1) OpQDel tombstones now trigger api.DeleteJob(jobID), meaning a delete now causes a write on the receiving peer; (2) OpQClear now fans out an asynchronous ClearQueueJobs() across nodes. Both are corrections to previously missing behavior, so consumers should see strictly less stale data — but they do change the write profile of the replication path.
Technical risk. Moderate, concentrated in the persistence layer rather than the public interface.
OpQClear fan-outs, SQLite's single-writer model is the likely bottleneck; the async clear mitigates latency but introduces best-effort semantics.Key questions. Is the Go engine distributed as a prebuilt binary, or must the PHP team build and ship it? What is the compatibility contract between the PHP client version and the queue engine version — can they be upgraded independently? Was DeleteJob made non-blocking inside the replication handler, and what happens on SQLite lock timeout? What are the durability and sizing guarantees for SQLite as the HA backing store under sustained load? Is ClearQueueJobs() idempotent and retried, and how are partial failures surfaced? Is there a documented remediation path for pre-existing orphaned rows? Does any monitoring or autoscaling logic currently depend on the ghost-job counts this release removes?
Stack fit. Fits a Laravel service that already treats the queue as critical infrastructure and runs multi-node for availability. It is a poor fit for teams that want a single-language operational surface: the split between PHP application code and a Go queue engine means two toolchains, two debugging mental models, and two release cadences.
Migration path. Treat this as a coordinated infrastructure patch, not a Composer bump, unless the vendor explicitly confirms the Go binary is bundled and versioned with the PHP package. Recommended path: pin the current version, validate in a staging cluster of at least three nodes (a single node will never exercise the replication handlers), then roll production node-by-node. Do not run mixed versions longer than the rollout window.
Compatibility. No breaking changes are advertised. The practical compatibility surface is (a) PHP client ↔ engine protocol version, and (b) on-disk SQLite schema — the release does not mention a migration, which suggests the schema is unchanged and downgrade is feasible if rollback is needed. Confirm both before committing.
Sequencing.
Maintenance. Ongoing cost rises with the dual-runtime footprint. Someone must own Go builds, CVE patching for the engine and its SQLite dependency, and the release pipeline for a binary that Composer does not manage. If the vendor ships binaries, this is mostly version-pinning discipline; if not, it is a genuine platform-engineering commitment.
Support. Incident triage now spans two languages. Queue anomalies (stuck jobs, replication divergence, lock contention) will land on whichever team owns the Laravel service, and they will be reading Go replication code under pressure. Budget for that explicitly, or contract for vendor support covering the engine.
Scaling. SQLite as the per-node persistence layer is the scaling ceiling. The release increases write frequency on that store in exchange for correctness — a good trade at moderate volume, a questionable one at high job throughput or with frequent bulk clears. Horizontal scaling adds nodes, which multiplies replication fan-out and per-node delete writes. Establish throughput and queue-depth limits and test the OpQClear path at realistic queue sizes, since a cluster-wide async wipe is the most likely source of a lock spike.
Failure modes.
Ramp-up. Low for application developers — no API change, nothing to relearn in Laravel queue usage. Moderate for SRE/platform: they need to understand the replication protocol, SQLite locking behavior, and tombstone handling well enough to diagnose a stalled peer. Plan a short internal runbook covering "ghost jobs reappear," "replication lag climbing," and "queue clear did not propagate," plus a documented manual cleanup procedure for orphaned rows. Expect the first production rollout to consume a meaningful share of one engineer's week, mostly in staging validation and post-upgrade monitoring reconciliation.
How can I help you explore Laravel packages today?