1
If you've got a solution, preferably open source, of course(!), I'd be interested to know, but I'm actually wanting to know the correct terminology.
The device I'm thinking of is an address translator (like NAT) that takes the request for a URL and either answers it from its cache, or from one of the possible server machines.
If there's a write (a POST request), this device would send it to all servers.
So all servers can be in the same state, without any need for synchronisation. If one node fails, the remaining node(s) will be in the same state, so can reply with requests.
So, as a diagram:
Client -> read -> device -> Server A/B (load balancing) or from cache
-> Server A
Client -> write (POST url) -> device -> Server B
-> Server N
All the servers are given the same writes so Server A, B,...N are all in exactly the same state (if they're running).
Any server, or the cache, can reply to a read.
The questions:
- What is this device called?
- Is this easy to set up with Apache/Squid? -- if so, where's an idiot's guide?
- This makes the device itself, the SPOF (single point of failure), how do you set it up so you have two independent devices doing this so that, if one fails, the other will take over seamlessly?
Thank you, I'll look into those. The problem is simple, there's a requirement to have have a fairly highly available mediawiki site. Mirroring the nodes is a much better solution than mirroring the databases or the wikis. – Peter Brooks – 2014-10-26T06:38:05.430
That looks very close - it seems that the term is 'content switching' or 'application switching'. The Cisco product brief doesn't directly describe what I was asking about, but it looks as if it's the right line of country. – Peter Brooks – 2014-10-26T06:46:55.823
I collected the info in my earlier comments and put them in an answer. After that, I deleted my comments to avoid duplicate information. – agtoever – 2014-10-27T10:05:14.637