We are looking for any idea how to build system that is described here.
We have computers placed in the different locations of country. This computers are some kind of servers, one for province in our country.
Our devices are connected to those servers. For instance We have 100 devices in one province and those devices are connected to one server (described above) in this province. This is for one province. In other provinces there is another set of devices that are sending data to their local province server. Our devices are sending signals and messages to those servers. Now what we want to this:
We need some kind of software that will be replicate data from one server in province to the rest servers in country so every server have the same data about the signals. We need do this in real time. What for? When one of province server will fail we are loosing the data from devices so when this happened we need to provide in our devices the way to switch connection to the different server in different province automatically. When server will be ok we need to synchronize it with the rest of the servers.
Our client application that is connected to server have the same algorithm to switching connections when local server from province fails. We need to provide our clients the data about signals in real time so we need such solution to this.
There must be no one point of failure. Can somebody tell us how to achieve this. What software, frameworks we should use. Maybe distributed file systems but over diffrent subnets? How to spread the data over all servers in real time. Maybe some distributed database? What technology should be used to this?
-- Thanks Martin