tw5@renegade:~$ dig @192.168.57.1 tw5.helpdesk.com ; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> @192.168.57.1 tw5.helpdesk.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40082 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tw5.helpdesk.com. IN A ;; ANSWER SECTION: tw5.helpdesk.com. 0 IN A 192.168.57.37 tw5.helpdesk.com. 0 IN A 192.168.57.43 ;; Query time: 3 msec ;; SERVER: 192.168.57.1#53(192.168.57.1) (UDP) ;; WHEN: Wed May 28 21:17:18 EDT 2025 ;; MSG SIZE rcvd: 82 I've seen google's and facebook's DNS records come back this way as well, only with a heck of a lot more servers.
Now, as I understand it, (if I understand it), there should also be filesystem syncing between any of the application storage, and most of the application / storage configuration, so that when a change is made one server, the change gets made on the other server, and this can be for a couple of reasons, such as:
High Availability.
- The purpose is to keep everything running, so that when something breaks (one of the servers) the others can keep things working.
Load Balancing.
The purpose is to make sure that when too many people visit the site, the load will be shared by both servers.
Sometimes it's done by being:
- Weighted
- Round Robin
- Pick the next server if one isn't presently responding
But where I'm getting tripped up is, in the case of the server being a webserver, when a browser requests the page, from tw5.helpdesk.com, does the DNS server return a record at random? Does the browser pick a record at random?
Do I need nginx or haproxy or elixr or strange Cisco hardware to do High Availability or Load Balancing?
Or is it something like I need both things in the case that there are 4x application servers and 2x Load Balancers with 2x application servers behind them and both DNS records for the same name pointing at the Load Balancers.