TWCable / grabbit

Grabbit - Fast Content Sync tool for AEM/CQ
Apache License 2.0
125 stars 64 forks source link

Implement Server-Push Sync #52

Closed jbornemann closed 8 years ago

jbornemann commented 9 years ago

A client-server pull sync like what is implemented now usually suffices for a manual developer machine sync from a data warehouse or higher environment; However, the common need of syncing a set of environments with content from a single environment (such as DWH to clustered betas, or CI) would benefit from a server to client push sync in a one-to-many fashion. The alternative is synching each, one at a time, which can be time consuming; Especially for large data sets.

This would also give infrastructure to support future enhancements, such as a "transparent content sync from a DWH to subscribing developer machines on a network.", which would arguably help to alleviate content discrepancy issues in a CD implemented AEM project.

Implement a push mode that sends sync data on a network to subscribing "server group members." Consider placing protoc on top one of a number of IP multicast protocols (PGM, RUDP, UDT) that would support this need. JGroups is a popular reliable multicast API for Java.

jdigger commented 9 years ago

Can you describe the practical benefits of this approach compared to replication or delta-pull?

jdigger commented 8 years ago

Jeff, is this still an open issue, or do you have more context to provide?

jbornemann commented 8 years ago

I think this enhancement would see less benefit now that features such as delta pull are available. Relative complexity to benefit margin is definitely widening; We can probably close this, tackle more small big-wins, and potentially revisit