Welcome to Aspera async, a new software application providing high-speed and highly scalable multi-directional, file-based replication and synchronization. async is designed to fill the performance gap of uni-directional file synchronization tools like rsync, which are often very slow for synchronization of large files and large sets of files over the WAN. Additionally, async extends the capability of uni-directional file synchronization tools with full bi-directional and multi-directional synchronization support. The key differences in async and traditional file synchronization tools, like rsync, include the following:
- Utilizes high-speed Aspera fasp transport for moving data at maximum speed over the WAN. Traditional synchronization tools are built on TCP, while async is built upon Aspera fasp transport technology (using the core Aspera ascp transfer binary). async transfers new data between remote hosts at full bandwidth capacity, regardless of round-trip delay and packet loss, and does not degrade in performance for large file sizes.
- Compares against a local snapshot, thereby avoiding the process of making a comparison against the remote file system over the WAN (which can be slow). rsync and most traditional tools determine what to transfer by comparing the local and remote file system over the WAN.
- Recognizes file system changes (such as moves and renames) and propagates these changes to peers. Traditional tools treat these operations as deletion of old data and then recreate/re-transfer the new data, which can lead to costly data copying over the WAN.
- Supports bi-directional and multi-directional synchronization topologies, where files are changing on multiple nodes. For a bi-directional synchronization, async runs with a bi-directional option. For a multi-directional synchronization, one async session is run for each peer to remain synced. Any topology that has an acyclic graph topology between peers is supported.
- Uses file system notifications for change notification, when available.
- Monitors file contents and waits for files to be stable (no longer changing in md5sum) before transferring. The wait period is configurable and is designed to avoid transferring only partially complete files.
async is a command line program that, like rsync, uses an SSH connection to establish connectivity with its remote peer(s), and is spawned as an SSH sub-system binary on the remote system. The program can be run one time or periodically (through a cron tab scheduled job) on file systems that do not provide asynchronous change notification, or in a continuous mode on file systems that do support asynchronous change notification. async is designed to process files and transfer new data in a continuous pipeline for maximum speed, even when running in scan-only mode (when no file system change notification is available).