Architecture
We will go bottom to top (from the builder’s eyes) to run through the above briefly:
Instance(s):
These are essentially Koios gRest (full 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 as the Koios gRest 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.
Health-Check Services:
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.
DNS Routing:
These will be the entry points from trusted instances that will route 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.