feat: add ws backplane, health probes, and treasury reporting - #345
Open
darcszn wants to merge 1 commit into
Open
feat: add ws backplane, health probes, and treasury reporting#345darcszn wants to merge 1 commit into
darcszn wants to merge 1 commit into
Conversation
|
@darcszn Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds the multi-instance WebSocket fan-out backbone, separates health probes for liveness vs readiness, and exposes a protocol treasury API for realized fees.
What changed
WebSocket backplane and fan-out
memorydefault and a Redis-based pub/sub path for multi-instance deployments.Health split
GET /health/livefor process-level liveness checks.GET /health/readyfor database-aware readiness checks.GET /healthas the combined legacy view for backward compatibility.Treasury reporting and fee persistence
Intentrecord.Local developer workflow
docker-compose.ymlthat provisions Postgres and the app stack together.Why
The backend currently scales poorly once more than one instance is running behind a load balancer because each process only sees its own in-memory WebSocket subscribers. This change adds a backplane-based fan-out path to keep real-time intent delivery working across replicas.
The separate readiness probe also prevents unnecessary restart loops when the process is still healthy but the database is briefly unavailable.
Finally, the treasury endpoint gives the protocol a concrete reporting surface for realized fee revenue without introducing any on-chain treasury logic.
Notes
closes #245
closes #246
closes #247
closes #248