I have 2 ISP's at my house that I have been hopping back and forth on manually in the past as needed. I'm somewhat beginning the process of converging both WAN's to the same LAN using 2 separate routers. For now of course, there's still a manual process if I need to use the non-default WAN at any given time (changing DGW on the client).
The scenario is that one ISP is 50Mbps up and down, and the other is like 30 up and 300 down. The 50/50 connection is from a local wireless provider (I'm like 3 blocks outside of their 1 Gbps fiber service, darnit!). I have static public IP's on it as well, so that's what will be hosting my main WAN-facing services. The other ISP is cable residential, so it's DHCP WAN ( I know DynDNS is a thing, not high on my priority list at the moment ).
It's REALLY nice when I'm downloading gobs of ISO's, Steam apps, etc. to be on the cable connection, obviously. As for day to day activities that don't require lots of ingress bandwidth, I just let devices do whatever they're currently on at the time. I've set up a LANCACHE server (mostly for Steam to start with; I setup the monolithic deployment so from what I understand it'll cache a bunch of stuff besides Steam out of the box like Blizzard apps, others). The way it works is LANCACHE runs a stub dns service of its own, and anything you want to be able to use LANCACH data just set that client's DNS to the LANCACHE IP. If the DNS query is for something besides a LANCACHE-able download, LANCACHE upstreams the DNS query to the DNS server you specified in LANCACHE's config. In this case, it'll upstream to my LAN-hosted Technitium DNS which is pointed at Quad9 dns using encryption protocols. (NO MORE TRACKING MY SHOPPING AND PR0N HABITS, GOOGLE! AMAZON! WHOEVER! lol)
Anyway, I'm not sure how to go about this. Since I'm running all Linux stuff now, I don't care about M$ services, and with the way the Linux world handles OS and app updates with package managers, I'm comfortable with the visibility I have into knowing WHEN I need this gateway changing sorcery to occur. Anybody have any ideas how to accomplish this or even suggestions of resources I can read up on that would "learn me" a few options? Both routers are running OpenWRT.