If I have a fleet of about 500 linux devices to manage spread accross 7 main sites should I create a single zone or a zone for each site?

Sites are connected by reliable high-speed WAN links but I dont want every client in every site pulling down updates over the WAN.

If I put a secondary server at each site and replicate content but keep a single zone do the clients have some way of knowing which is their local server? I'm unable to find any documentation on how a client chooses a server when there is more than one.