I just implemented Syncthing on a cluster of front-end web servers. I know best practice would be using hooks to make all my web servers update from a Git repository, but I prefer to do dev on one server and then just update one production server when I go live. Syncthing simply replicates the right directories to the rest of the front-end servers.
I have 8 static asset web servers that run on low-end VPS's with just 256 megs of memory. Syncthing only consumes about 15 megs of that precious memory, leaving plenty for Nginx.
Syncthing is competing with BTSync. BTSync has the disadvantage of being a closed-source product, but it's far easier to setup and configure. Syncthing will take a bit of configuration to get everything just right. It also comes as a plain binary without a native way to make it a system daemon. You have to come up with your own init.d, move config files to a shared directory, set the right permissions on that config file directory, etc.
BTSync is also a lot easier when it comes to adding shared folders. With their system, you share a folder on one computer and receive a key and a secret. On other computers, you simply pick an empty folder, enter the key and secret, and then everything synchronizes.
With SyncThing, you have to configure the relationship on all sides of the connection. When you start setting up a big mesh of dozens of machines, this gets very very tedious and you find yourself just picking one machine to be the "master" and pointing each machine to that one master. This has the downside of not being able to source pieces of the replication from all of the various servers.