Skip to content

Conversation

aditya520
Copy link
Member

Description

  • Add Mermaid/Process Flow Diagram
  • Explain DL sequencer

Type of Change

  • New Page
  • Page update/improvement
  • Fix typo/grammar
  • Restructure/reorganize content
  • Update links/references
  • Other (please describe):

Areas Affected

Checklist

  • I ran pre-commit run --all-files to check for linting errors
  • I have reviewed my changes for clarity and accuracy
  • All links are valid and working
  • Images (if any) are properly formatted and include alt text
  • Code examples (if any) are complete and functional
  • Content follows the established style guide
  • Changes are properly formatted in Markdown
  • Preview renders correctly in development environment

Related Issues

Closes #

Additional Notes

Contributor Information

  • Name:
  • Email:

Screenshots

Copy link

vercel bot commented Oct 13, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
docs Ready Ready Preview Comment Oct 13, 2025 4:55pm
documentation Building Building Preview Oct 13, 2025 4:55pm


- **Authentication**: Validates publisher access tokens and optional Ed25519 signatures.
- **Rate limiting**: Enforces configurable limits of price updates per publisher.
- **Message forwarding**: Publishes validated updates to NATS or Kafka.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't mention Kafka because we're not currently using it. I'd also add some description for the role of NATS, like this:

Suggested change
- **Message forwarding**: Publishes validated updates to NATS or Kafka.
- **Message forwarding**: Publishes validated updates to an internal message queue (a NATS cluster).

Comment on lines +26 to +28
- **History Service**: Maintains a connection to the History Service to cache historical data for circuit breaker validation.

The Relayer also maintains a connection to the History Service to cache historical data for circuit breaker validation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not correct. Relayer doesn't connect to history service.

### Aggregator Component

The Aggregator is a library component embedded within both the Router and History Service.
It consumes publisher updates from the message bus and computes aggregated price feeds.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We try to call them just "feeds", not "price feeds", because there are also feeds for funding rates, and more kinds of feeds may be added later.

The system supports dual message queue backends for flexibility. This allows the system to be deployed in a multi-datacenter environment.

- **NATS Jetstream**: Provides pub/sub messaging with stream persistence.
- **Apache Kafka**: Can be used instead of NATS for message transport.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to talk about Kafka because we don't use it (yet?).


The architecture consists of four main services that work together to provide ultra-low-latency data to consumers.

### INSERT DIAGRAM HERE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you want the "components" below to actually be "services" for clarity. This will also allow you to line up the elements in the diagram with the text blocks below. Given that, the subsections below should be: publishers, relayers, message queue, routers, history service

Aggregation logic can be rolled into routers, and you can drop the message transport layer part.

Also, please include who operates the components and the stuff around no reordering etc etc that we discussed

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

Successfully merging this pull request may close these issues.

3 participants