如何实现实战中的远程文件同步技术?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4262个文字,预计阅读时间需要18分钟。
1. 远程文件同步常见方式:1. cron + rsync 优点:简单 缺点:定时执行,实时性较差;此外,rsync同步数据时,需扫描所有文件后进行对比,传输差异部分。若文件数量达到百级,效率较低。
1. 远程文件同步的常见方式:
1、cron + rsync
优点: 简单
缺点:定时执行,实时性比较差;另外,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。远程对比时发送所有的文件树or目录树属性,而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。
2. inotify + rsync
优点:比较简单
缺点:每个变更文件都使用了rsync。而每一次rsync都要建立SSH链接,这个其实是比较费时间的。文件频繁更新会产生不必要的rsync、进程or线程,比如不支持批量定时同步等。
3. lsyncd (python版本叫inosync)
优点:实时性高,速率可控,兼容了rsync协议,以及lua语言的灵活高效。
缺点:需要了解inotify,rsync的原理、运用,需要多引入一个lua,定制业务稍复杂。
本文共计4262个文字,预计阅读时间需要18分钟。
1. 远程文件同步常见方式:1. cron + rsync 优点:简单 缺点:定时执行,实时性较差;此外,rsync同步数据时,需扫描所有文件后进行对比,传输差异部分。若文件数量达到百级,效率较低。
1. 远程文件同步的常见方式:
1、cron + rsync
优点: 简单
缺点:定时执行,实时性比较差;另外,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。远程对比时发送所有的文件树or目录树属性,而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。
2. inotify + rsync
优点:比较简单
缺点:每个变更文件都使用了rsync。而每一次rsync都要建立SSH链接,这个其实是比较费时间的。文件频繁更新会产生不必要的rsync、进程or线程,比如不支持批量定时同步等。
3. lsyncd (python版本叫inosync)
优点:实时性高,速率可控,兼容了rsync协议,以及lua语言的灵活高效。
缺点:需要了解inotify,rsync的原理、运用,需要多引入一个lua,定制业务稍复杂。

