Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic: Queuing, caching, and load balancing #227

Open
egasimus opened this issue May 3, 2024 · 1 comment
Open

Epic: Queuing, caching, and load balancing #227

egasimus opened this issue May 3, 2024 · 1 comment
Assignees
Labels
agent Interacting with the chain from JS/TS enhancement New feature or request epic ts

Comments

@egasimus
Copy link
Collaborator

egasimus commented May 3, 2024

  • Multiple RPC calls in parallel can overload the node
  • Multiple RPC calls sequentially can be slow
  • Specifying sequential/parallel complicates the API
  • Implementations of some operations may consist of multiple RPC calls under the hood, depending on chain
  • Some of the data does not change and can be cached indefinitely
  • Some of the data can be cached until the block height increments
  • The same data can be accessed through multiple RPC endpoints ran by independent parties
  • RPC calls may be initiated while other RPC calls are still pending

An internal queuing/caching/load balancing mechanism could address all of the above, providing robust and performant RPC operation.

@egasimus egasimus added enhancement New feature or request ts epic agent Interacting with the chain from JS/TS labels May 3, 2024
@egasimus egasimus self-assigned this May 3, 2024
@egasimus egasimus added this to Fadroma May 3, 2024
@egasimus
Copy link
Collaborator Author

egasimus commented May 3, 2024

The first step would be connecting to the WebSocket (#228). This would let us know when to invalidate block-specific data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent Interacting with the chain from JS/TS enhancement New feature or request epic ts
Projects
Status: No status
Development

No branches or pull requests

1 participant