Overview
DNS Routing
This is the primary entry point from trusted instances that route traffic to health check proxy services. We will be using at least two DNS ourselves to not have single point of failure, but that does not limit users to elect any of the other server endpoints instead, since the API works right from the instances layer itself.
Client Layer
Being a trustless system, client drives the information with respect to whether a request is classified as Public, Registered (which includes free and paid tiers) or Custom/Dedicated servers. They are able to send the request to the DNS layer and optionally accompany a JWT payload that carries the tiering information. For more details about tiers, please visit this page
Monitoring + Proxy Layer:
While the instances by themselves are fully sufficient to provide data, to be able to leverage community instances together as a cluster, there is a lightweight layer of HAProxy monitoring instances, that is responsible for load balancing, doing health-checks (ensure instances are providing latest information), query sample data, provide protection against DDoS or other security exposure, etc.
Clusters/Instances:
These are essentially Koios gRest (full node) or lite node instances powered by Postgres DB populated using cardano-db-sync serving data from individual cardano-node instance, with an overlay of proxy that makes an individual instance fully self-manageable providing same features as the public cluster. Thus, these instances can be run independently by consumers (as single or in cluster), or they can participate in network of such community hosted instances coming together served via Koios Cluster endpoints. The provisioning of these instances are highly simplified via the guild-operator setup instructions here.