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.