Can this be used for P2P synchronization of PCs on a network?

I’m investigating options to take the place of Microsoft Sync Framework and Couchbase Lite was one of the top results.
My concern is that it looks like it’s meant for mobile devices.
My use case is 2-16 PCs on a network. When one PC makes a change, it notifies the other PCs in its group. These PCs then used MSSFX to sync the databases and tell us what items changed, which we would then do additional post processing on.
And of course if an instrument was offline, when it starts back up it needs to be able to catch back up.
The database we ran MSSFX was only for this purpose; it only contained metadata. The post processing handled updating the actual data, so we are not tied to MSSQL for this use.
From what I’ve read so far, I’m imagining each PC would need a server running unlike the simple library of MSSFX. Each would have a listener for each other PC in the group. Then to sync the other instruments would point a replicator at the PC that made a change and this would pull the change?

Thanks in advance.


Couchbase Lite indeed supports synchronization for mobile devices, but it can also be used for desktop environments. It’s designed to work with the Couchbase Sync Gateway, which handles data synchronization across devices and to the cloud. For your use case, each PC would not necessarily need to run its own server. Instead, you could have a single Sync Gateway that all PCs connect to. The Sync Gateway would manage the synchronization and ensure that when one PC makes a change, the others are notified and can sync accordingly.

Here’s how it could work:

Sync Gateway: Acts as the central hub for synchronization. You would set up one Sync Gateway that all PCs in the network would connect to.
Couchbase Lite: Runs on each PC and handles the local database. It uses a Replicator process to sync with the Sync Gateway.
Replicator: This is part of Couchbase Lite and is responsible for both pushing and pulling changes to and from the Sync Gateway.
When a PC makes a change, the Replicator on that PC would push the change to the Sync Gateway. The other PCs, through their own Replicators, would then pull these changes from the Sync Gateway. This ensures that all PCs are kept up-to-date with the latest changes.

For PCs that were offline and then come back online, the Replicator would automatically sync any changes that occurred while they were disconnected, ensuring they catch up with the current state of the database.

Couchbase Lite also supports peer-to-peer synchronization, which might be suitable for your scenario if you prefer direct PC-to-PC sync without a central server.

Thank you for the response.

Our desire is for a P2P because we don’t want a single point of failure. The information being shared is maybe not critical, but important for each member of the group to continue working properly. We don’t want the PCs to stop working if there’s a failure of the server.

We are discussing the possibility of settling on that design as it would help us solve some other problems, but the single point of failure fear is deep seated in those making the decisions. I’m also toying with the idea of a dynamic master, so one member will act as the master to the others and if it goes down, another takes up this role, but from a configuration point of view I don’t see how this is different from P2P as all systems would need to be ready to act as the sync gateway.

Looking at some more information I realize I may have misunderstood the product.

The research I’m doing is for a commercial product, not an in-house use. We’re looking for a 3rd party product we can use as part of the system we’re selling. If there are licensing fees for each instance, seat, use, connection, or whatever we may have to pass.

Our product would be installed at multiple sites with each acting independently from the other sites who may be different companies.