Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 2.34 KB

running-horizon-in-production.md

File metadata and controls

36 lines (28 loc) · 2.34 KB

SDF - packages

  1. Adding the SDF stable repository to your system
  2. Quickstart
  3. Installing individual packages
  4. Upgrading
  5. Running Horizon in production
  6. Building Packages
  7. Running a Full Validator
  8. Publishing a History archive
  9. Backfilling a History archive
  10. Monitoring
  11. Testnet Reset

Running Horizon in production

Running your own distributed Horizon setup is highly recommended for production environments.

reminder: the SDF horizon cluster does not have an SLA!

How you achieve this distributed environment is dependent on your internal infrastructure. If possible, using managed services such as AWS (ELB,RDS,EC2) or other cloud providers will greatly simplify your environment. All nodes should be monitored. The Monitoring describes recommended tooling and provides configuration examples.

Given this, the following principles should apply to most hosting environments.

  • distribute the Horizon service across multiple load-balanced instances (ELB,EC2)
  • only ingest on 1 horizon node
  • run a highly available PostgreSQL cluster ( or RDS) for the horizon database
  • run a non-validating stellar-core instance which the Horizon cluster will use to ingest and submit transactions to
    • Horizon needs access to a highly available horizon database
    • Horizon needs access to stellar-core on port 11626
    • Horizon needs access to stellar-core's PostgreSQL database on port 5432
  • run a standby non-validating stellar-core instance which the Horizon cluster can failover to for ingestion and transaction submission
  • use a floating IP (also called "virtual IP" or "VIP") to manage failovers to the standby core when required
    • during failover the core-db and stellar-core instance accessed by Horizon need to be updated, we suggest using a DNS record to avoid having to update configuration files

Generic Distributed Horizon Cluster