DNS-Einträge alternieren? Verschiedene Server auswählen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
pimeys
Beiträge: 17
Registriert: 06.07.2013 17:22:24

DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von pimeys » 17.08.2013 16:51:19

Ich habe einen Service aufgebaut, der bisher auf einem einzelnen Server lief, einfach über einen Aufruf an IP und Port, etwa so: 123.45.67.89:9999

Nun reicht wegen Serverbelastung aber ein einzelner Server nicht mehr aus, also hab ich einen weiteren Server besorgt und abgefertigt, damit er den selben Dienst anbietet. Nun ist aber das Problem, dass ich die Server etwa gleich belasten möchte, damit nicht einer abraucht und der andere sich langweilt.

Dazu habe ich nun zwei Ideen, die ich spontan als sinnvoll bezeichnen könnte:
1. Ist es möglich das direkt über DNS-Einträge zu machen? Sodass ich zB eine Subdomain "service.domain.tld" anlege und diese abwechselnd auf IP 123.45.67.89 oder 123.45.67.98 verweist? Wie müssen die Einträge aussehen?
2. Meine zweite Idee wäre es, wobei mir die DNS Theorie besser gefällt, nginx als Proxy dazwischen zu setzen und alternieren zu lassen.


Falls es noch bessere Methoden gibt, nehme ich die Ideen natürlich auch gerne entgegen :)

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von syssi » 17.08.2013 17:16:19

Die erste Methode ist ein Load-Balancing per DNS-Rekord. Du musst fuer eine Domain einfach zwei A-Rekords im DNS anlegen, welche auf die beiden (oder mehr) IPs verweifen. Der Client wuerfelt dann nach dem DNS-Request aus, welche der beiden IPs er kontaktieren moechte. Es liegt also nicht in deiner Hand, wie stark, welcher Server belastet wird.

Der zweite Weg geht natuerlich auch. Du baust dir damit aber einen unnoetigen Flaschenhals und wenn dein nginx einmal ausfaellt, dann ist keines der beiden Systeme mehr erreichbar.

wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von wanne » 17.08.2013 23:10:21

syssi hat geschrieben:Der Client wuerfelt dann nach dem DNS-Request aus, welche der beiden IPs er kontaktieren moechte.
CLients würfeln eigentlich nicht die nehmen immer den obersten. Nur die DNS-Server rotieren durch.
rot: Moderator wanne spricht, default: User wanne spricht.

debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von debnuxer » 18.08.2013 00:58:48

Vielleicht wäre Varnish auch eine Möglichkeit.

http://packages.debian.org/wheezy/varnish

Im optimalfall kann man den Server (Backend) auch mal für eine Stunde ganz weg nehmen um irgend etwas umzustellen oder zu warten.
Das Leben ist wie ein überdimensionales Schachbrett.

pimeys
Beiträge: 17
Registriert: 06.07.2013 17:22:24

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von pimeys » 18.08.2013 09:50:05

ich habe jetzt für eine Subdomain "service.domain.tld" zwei DNS-Einträge vom Typ "A" gemacht, im Content jeweils eine der beiden Server IPs und anschließend ein paar Stunden gewartet um sicherzugehen, dass die DNS-Einträge übernommen wurden. Wenn ich jetzt auf service.domain.tld:9999 einige Requests (10+) abfeuer (egal ob nacheinander oder gleichzeitig), so landen diese alle beim selben Server, das scheint scheinbar nicht zu klappen. Oder hab ich was falsch gemacht/gedacht?

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von syssi » 18.08.2013 10:06:22

pimeys hat geschrieben:ich habe jetzt für eine Subdomain "service.domain.tld" zwei DNS-Einträge vom Typ "A" gemacht, im Content jeweils eine der beiden Server IPs und anschließend ein paar Stunden gewartet um sicherzugehen, dass die DNS-Einträge übernommen wurden. Wenn ich jetzt auf service.domain.tld:9999 einige Requests (10+) abfeuer (egal ob nacheinander oder gleichzeitig), so landen diese alle beim selben Server, das scheint scheinbar nicht zu klappen. Oder hab ich was falsch gemacht/gedacht?
Falsch gedacht, wenn du alles vom gleichen Client aus gesendet hast. Der Client merkt sich die IP, welcher er gewaehlt hat und nutzt sie bis eine TTL abgelaufen ist.

Hier findest du das genaue Verhalten und auch die Nachteile: http://en.wikipedia.org/wiki/Round-robin_DNS

wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von wanne » 19.08.2013 01:11:49

Genau das ist das worauf ich hinweisen wollte. Der Client nutzt immer den ersten Eintrag. Nur der DNS-Server rotiert für jeden Client der abfragt die Einträge durch.
rot: Moderator wanne spricht, default: User wanne spricht.

pimeys
Beiträge: 17
Registriert: 06.07.2013 17:22:24

Re: DNS-Einträge alternieren? Verschiedene Server auswählen

Beitrag von pimeys » 20.08.2013 13:40:36

Danke, das scheint es zu sein. Damit kann ich vorerst leben :)

Antworten