A free, open source GSLB (Global Server Load Balancing) solution.
Find a file
2018-11-08 13:15:29 +01:00
bin remove an empty line 2017-04-18 11:39:16 +00:00
etc make topology work with overlapping networks 2017-04-07 12:05:04 +00:00
polaris_common make topology work with overlapping networks 2017-04-07 12:05:04 +00:00
polaris_health Failed memcache operations will produce error level of log messages, closes #48 2018-11-07 10:16:10 +00:00
polaris_pdns strip a trailing dot in qname, closes #21 2018-11-08 11:58:13 +00:00
tests add misc support files 2017-04-11 08:48:19 +00:00
.gitignore add failover group lb method, closes #15 2016-03-14 17:02:50 +00:00
LICENSE initial commit 2015-08-05 13:28:02 +00:00
README.md Update README.md 2017-08-08 11:56:38 +02:00
setup.py Implement priority queue based scheduling of the health checks, closes #34 2018-10-04 14:40:31 +00:00

Polaris - guiding the traffic home.

An extendable high availability solution for the data center and beyond, Global Server Load Balancing(GSLB), DNS-based traffic manager.

  • Built as an enhancement for PowerDNS Authoritative Server.
  • Load-balancing methods:
    • Weighted round-robin.
    • Topology(direct clients to end-points in the same region/datacenter).
    • Failover group(active-backup).
  • Parameterized(timeout, interval, retries etc.) health monitors:
    • TCP
      • Connect to a specific port number.
      • Send string.
      • Match regular expression in response.
    • HTTP/S
      • Port number to use.
      • SSL.
      • Request a specific URL path.
      • Expect a response code from a configurable array.
    • Forced
      • Force a member to be up or down, disables health checking.
  • Ability to run health checks against an IP that is different from the member IP.
  • Up to 1024 addresses returned in a response.
  • Different ways to handle the "all-pool-members-down" situation(fallback):
    • Return any configured end-points(ignore the health status).
    • Refuse query.
  • Automatic SOA serial.
  • A single Health Tracker can serve multiple DNS resolvers running on different machines.
  • LB configuration validation on start-up operations.
  • Elastic threads pool serving health checks.
  • Asynchronous, non-blocking comms between the internal components.

See the WIKI for installation, configuration and other information.