I’m in the process of developing a small application that will be used internally on our company.
At this point, I’m trying to define which DB server to use.
I have one central hub server and 7 other servers located in different locations.
I need all servers to be able to have the exact same data. I can live with delays for data to be updated on the other server when data is changed in any server, but data must be able to be changed in any server.
I’m wondering if can achieve this with couchbase and how I would go about setting this up.
I installed the one node following the instructions on the “Getting started” with the sample buckets.
Now, for the other servers, which are located in different locations, do I setup the servers as new nodes and point it to the first node using wan ip address or I setup as another cluster node and use XDCR?
How about just one Couchbase server (or cluster) that all the application servers talk to? That ensures they all see the same data…
I know this solution is valid, but the problem is if internet connection drops, my application wouldn’t be able to query data or update the DB.
If I keep a server locally in each of the sites, which is what I currently have anyway since that’s the design my POS software was built on, I would be able to still run the application and data would get sync’ed when connection would establish again.
Unless there are better solutions that I’m not aware of.
you can do 1 of 2 things in unreliably connected sites
- Use local Couchbase Server and XDCR to a central cluster (this works well for high traffic data exchange)
- Use Couchbase Lite locally and enable Sync Gateway (this works best when you need more sophisticated conflict resolution)