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

Create a gateway framework #468

Closed
2 of 8 tasks
Jannis opened this issue Dec 19, 2023 · 1 comment
Closed
2 of 8 tasks

Create a gateway framework #468

Jannis opened this issue Dec 19, 2023 · 1 comment

Comments

@Jannis
Copy link
Contributor

Jannis commented Dec 19, 2023

We want something similar to the indexer-service framework introduced in graphprotocol/indexer-rs#80.

This will require extracting a number of modules from the graph-gateway source code into its own crate. The list below tracks the completion of this:

  • Provider (indexer) discovery (generalize all subgraph-specific bits)
  • Gateway block cache (for making queries deterministic)
  • Reporting via Kafka
  • Prometheus metrics
  • Indexer selection (generalize all subgraph-specific bits)
  • Indexer status tracking
  • Budgeting & indexer cost tracking
  • GeoIP support

This list may not be complete.

@Jannis Jannis self-assigned this Dec 19, 2023
@LNSD
Copy link
Contributor

LNSD commented Jun 7, 2024

This comment is related to PR #808:

How do you envision a JSON-RPC gateway using a "request selector"?

It's clear to me in the subgraph gateway. One client can pick one subgraph either:

  • By subgraph ID: The gateway decides the deployment version depending on the indexers' performance info.
  • By deployment ID: The subgraph version is pinned, and the gateway makes decisions based on indexers' performance info.

Could you explain what needs to be multiplexed and selected in a JSON-RPC gateway?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants