Skip to content

Commit

Permalink
docs: Link from design page to detail pages
Browse files Browse the repository at this point in the history
  • Loading branch information
sbernauer committed Jan 17, 2024
1 parent b454e04 commit 8b57ea9
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
6 changes: 6 additions & 0 deletions docs/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ The trait `trino_lb_persistence::Persistence` (think of an interface) allows for

In case you are interested in a implementation for a different persistence please feel free to open an issue or pull request!

Read on the [persistence page](./persistence/index.md) for more details.

## 1. Cluster groups

trino-lb has the concept of so-called "cluster groups" consisting of 1 - n Trino clusters.
Expand Down Expand Up @@ -54,6 +56,8 @@ Trino will respond with an resource estimation the query will consume.
Please note that this functional heavily depends on [Table statistics](https://trino.io/docs/current/optimizer/statistics.html) being present for the access tables to get meaningful estimations.
4. [ClientTagsRouter](./routing/ClientTagsRouter.md): Route queries based on client tags send in the `X-Trino-Client-Tags` header.

Read on the [routing page](./routing/index.md) for more details.

## 3. Choosing cluster from cluster group

Once the routers have determined which cluster group the query should run a fitting cluster of this group needs to be chosen.
Expand Down Expand Up @@ -88,6 +92,8 @@ Currently the following autoscalers are implemented:

1. [Stackable](./scaling/stackable.md): Autoscales [Stackable TrinoClusters](https://docs.stackable.tech/home/stable/trino/), which are part of the Stackable Data Platform (SDP)

Read on the [scaling page](./scaling/index.md) for more details.

## Monitoring

trino-lb emits [OpenTelemetry Metrics](https://opentelemetry.io/docs/concepts/signals/metrics/), which (for now) are only exposed as [Prometheus](https://prometheus.io/) metrics on `http://0.0.0.0:9090/metrics`.
Expand Down
2 changes: 0 additions & 2 deletions docs/routing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
Routing is implemented in a generic fashion by exposing the trait `trino_lb::routing::RouterImplementationTrait` (think of like an interface).
Different routing engines can be implemented easily using this trait, please feel free to open an issue or pull request!

E.g. a router based on [client tags](https://trino.io/docs/current/develop/client-protocol.html?highlight=client+tag#client-request-headers) would be trivial, but also currently possible via the `PythonScriptRouter`.

Currently the following routers are implemented:

1. [TrinoRoutingGroupHeaderRouter](./TrinoRoutingGroupHeaderRouter.md)
Expand Down

0 comments on commit 8b57ea9

Please sign in to comment.