Puncte:-2

Redudanță cu mai multe servere pe același DNS

drapel sv

Am un nume de domeniu ca api.test.com. Am și trei servere.

Vreau să am redudanță între atunci și, deci, dacă un server este offline, numele domeniului api.test.com nu va redirecționa către el, ci doar pentru alții.

Am descoperit că putem avea mai multe A/aaaa Înregistrați pe același nume de domeniu, dar nu ia în calcul dacă computerul ping sau nu, doar dați aleatoriu unul dintre toate IP-urile disponibile.

Cum pot face pentru a avea redudanță cu el? Ar trebui să primesc un alt server care redirecționează toate cererile, cum ar fi un proxy?

Patrick Mevzek avatar
drapel cn
DNS-ul singur nu poate furniza fail-over. Adresele multiple oferă doar echilibrarea încărcăturii.
Nikita Kipriyanov avatar
drapel za
@PatrickMevzek nu este în întregime adevărat. DNS are unele prevederi pentru failover în înregistrările SRV și MX.Dar numai în acele înregistrări.
Elikill58 avatar
drapel sv
într-adevăr ? Ce bine, cum le pot folosi cu IP-uri multiple?
drapel cn
Răspunde asta la întrebarea ta? [Este DNS Round-Robin „destul de bun” pentru echilibrarea încărcării conținutului static?](https://serverfault.com/questions/101053/is-round-robin-dns-good-enough-for-load-balancing-static- conţinut)
Patrick Mevzek avatar
drapel cn
@NikitaKipriyanov Da, dar OP-ul vorbește cu siguranță despre tipul de acces HTTP./HTTPS și 1) `MX` ca fiind inutil acolo și 2) înregistrările `SRV`, deoarece browserele nu le folosesc. Și failover-ul nu este inclus în DNS pentru acele înregistrări, ci doar pentru că clienții le gestionează într-un mod specific. Acum, cu viitoarele înregistrări `HTTPS`/`SVCB` lucrurile vor fi diferite, dar tot depind de client. Fail-over-ul nu este o proprietate internă a DNS-ului, ci doar poate expune date care pot fi folosite pentru asta, dar depinde pe deplin de client.
Elikill58 avatar
drapel sv
@TomTom după verificare, nu răspunde complet. Răspunsul lui Nikita explică mai multe despre DNS și de ce nu le putem folosi, iar linkul pe care l-ați oferit oferă o soluție despre cum să o remediați, care pare a fi [HAProxy](http://www.haproxy.org/)
Nikita Kipriyanov avatar
drapel za
@TomTom Am tentat și eu să citesc printre rânduri și să consider asta un duplicat, dar uite, nicăieri în întrebare nu se spune nimic despre HTTP(S) și conținutul static. Chiar și în etichete. Întrebarea este o întrebare foarte bine formulată despre DNS. Aceasta este cu siguranță **nu** o copie a acelei întrebări, ci una diferită.
Puncte:1
drapel za

Nu, nu așa funcționează. Puteți configura mai mult de o înregistrare de un anumit tip și nume într-o zonă. Clientul nu este în general conștient de acest lucru; solicită un anumit nume și tip (de exemplu, un browser solicită un nume pe care l-ați introdus în caseta de adresă, de tip A, AAAA).

Dacă sunt returnate mai multe înregistrări, alege una la întâmplare și încearcă să se conecteze acolo. Depinde de client să încerce din nou să se conecteze la o altă înregistrare dacă există. Serverele încurajează, de asemenea, acest comportament, răspunzând la aceeași interogare cu ordine diferită a înregistrărilor de fiecare dată. Deci, chiar dacă un client „alege întotdeauna primul”, randomizarea pe server are loc în continuare. În acest fel, se realizează o formă primitivă de echilibrare a sarcinii.

Echilibratoarele de încărcare DNS speciale returnează înregistrări A cu TTL foarte scăzut, deci expiră rapid; Prin urmare, serverul poate reacționa rapid la vârfurile bruște de încărcare sau la întreruperile nodurilor backend, omițând adresele lor din răspunsuri.Puteți vedea acest lucru în acțiune dacă încercați să rezolvați serverele de videoconferință ale Zoom; folosesc această tehnologie. Dar asta necesită acest software special, un echilibrator de încărcare DNS, pentru a gestiona un DNS pentru acest nume, iar acesta este doar începutul poveștii.

În general, dacă IP-ul prima încercat primit la înregistrarea A nu răspunde, clienții web de obicei returnează eșec, chiar dacă au existat alte IP-uri de încercat. Există software care reîncearcă cu adevărat din nou, de exemplu, OpenVPN ar putea încerca din nou pe termen nelimitat, dar acesta este un caz special.


DNS oferă redundanță printr-un mecanism complet diferit, din nou, așteptând un client suficient de inteligent. Există tipuri speciale de înregistrare DNS, numite SRV (serviciu), care are 4 câmpuri de date: prioritate, greutate, port, nume.

Numele este cel mai simplu: numele unei înregistrări descrise de această înregistrare SRV. Portul este portul TCP sau UDP pe care se află serviciul solicitat pe serverul cu acel nume. Acesta trebuie să fie un nume care are asociată înregistrarea A sau AAAA; CNAME nu este permis. Dacă există mai multe înregistrări A sau AAAA cu acest nume, vom avea un comportament DNS obișnuit „încercați o dată” pentru această înregistrare SRV special (dar clientul ar trebui să încerce alte înregistrări SRV dacă există, de exemplu, cu valori de prioritate mai mare).

Greutatea permite un control mai profund al echilibrării sarcinii: dacă există mai multe înregistrări cu aceeași prioritate, clientul ar trebui să încerce să împartă sarcina în funcție de greutățile lor. Se face adesea probabil.

Prioritatea este pentru redundanță: trebuie încercate primele înregistrări cu cea mai mică valoare, apoi următoarea prioritate și așa mai departe. Dar din nou, reîncercarea depinde de client.

Înregistrarea arată astfel:

_kerberos._tcp.example.net. SRV 0 100 88 dc.example.net.

Litere de subliniere sunt într-adevăr caractere de subliniere literale în numele înregistrării. Se spune că serviciul „kerberos” este servit prin TCP la portul dc.example.net 88. dc.example.net trebuie să fie înregistrări A sau AAAA. Acest exemplu este de la MS Active Directory, care se bazează în mare măsură pe DNS pentru o funcționare corectă și îl folosește pentru ldap (director) și kerberos (cadru de securitate).Dacă aveți mai mult de un controler de domeniu AD, vor exista mai multe astfel de înregistrări, care indică diferite DC-uri.

Acest tip de înregistrări este folosit pentru, de ex. ldap, kerberos, kpasswd (schimbarea parolei Kerberos), xmpp (jabber), sip (telefonie IP) și altele Servicii.

MX este ca un „caz special de SRV”, care se leagă de portul 25 și are doar câmp „priority”, fără „greutate”. Este doar un „stil vechi”, care a fost inventat înainte de SRV (și care l-a inspirat). Și este folosit doar pentru e-mail.

SRV nu vă poate ajuta cu serviciile web. Ajută doar pentru serviciile în care clientul știe să folosească înregistrarea SRV pentru a descoperi serverul; clienții web nu fac niciodată asta.

Elikill58 avatar
drapel sv
Multumesc pentru raspunsul tau. De ce SRV nu poate ajuta în serviciul web dacă alege un IP valid între unul care funcționează în funcție de priorități? Mă poate ajuta MX cu serviciul web?
Nikita Kipriyanov avatar
drapel za
am explicat deja. SRV ajută doar serviciile care utilizează efectiv înregistrări SRV. Clientul web nu le interogă niciodată și nu utilizează înregistrări SRV. Puteți crea o astfel de înregistrare, dar nimeni nu va observa. MX este totuși un caz special de înregistrare SRV, folosit pentru e-mail (pentru a localiza Mail eXchanger al domeniului, unde să livreze e-mailul pentru acel domeniu)
Elikill58 avatar
drapel sv
Da, mulțumesc. Îmi lipsesc câteva părți pentru că am fost la telefon. Deci, pentru a o face, nu pot folosi DNS și trebuie să fac altceva, cum ar fi folosirea proxy care redirecționează?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.