Navigator now supports unweighted and weighted load balancing.

This commit is contained in:
2019-12-26 01:10:26 +08:00
parent 22855ebec2
commit 6ac03c18cc
3 changed files with 76 additions and 11 deletions

View File

@ -1,6 +1,9 @@
WHOLESALE_INTERNET_10GE = "xe-mci1-us"
HETZNER_FSN_1GE = "ge-fsn1-de"
HETZNER_HEL_1GE = "ge-hel1-fi"
CLOUDCONE_LAX1_1GE = "ge-lax1-us"
CLOUDCONE_LAX2_1GE = "ge-lax2-us"
CLOUDCONE_LAX_LB = (CLOUDCONE_LAX1_1GE, CLOUDCONE_LAX2_1GE)
default_server = WHOLESALE_INTERNET_10GE
CHINA_MAINLAND_SUFFIX = ".eveedge.link"
@ -11,12 +14,20 @@ default_suffix = GLOBAL_SUFFIX
def getMapping(ip):
info = geoLookup(ip)
if not info:
return default_server + default_suffix
return default_server
if info.IspDomain == "ChinaMobile":
return HETZNER_FSN_1GE + CHINA_MAINLAND_SUFFIX
return HETZNER_FSN_1GE
if info.IspDomain == "ChinaTelecom":
return CLOUDCONE_LAX_LB
if info.CountryCode == "CN":
return default_server + CHINA_MAINLAND_SUFFIX
return default_server + GLOBAL_SUFFIX
return default_server
if ip == "0.11.45.14":
return {
default_server: 3,
CLOUDCONE_LAX1_1GE: 2,
CLOUDCONE_LAX2_1GE: 1,
}
return default_server
def getNodes():
return ["xe-mci1-us", "ge-fsn1-de", "ge-lax1-us"]