Sersync 利用 inotify 技术实现水服务器数据实时同步的解决方案, 其中监控 sersync 所在服务器上文件系统的事件变化, rsync 是目前广泛使用的本地及异地数据同步工具, 其优点是只对发生变化的目录数据操作, 甚至是一个文件不同的部分进行同步, 所以其优势大大超过使用挂接文件系统或 scp 等方式进行镜像同步.
目前使用比较多的同步程序版本是 inotify-tools, 另外一个是 Google 开源项目 openduckbill(依赖于 inotify-tools), 这两个都是基于脚本语言编写的, 其设计思路同样是采用 inotify 与 rsync 命令.
sersync 优点是:
1. 使用 C++ 编写, 对 linux 系统文件产生的临时文件和重复的文件操作会进行过滤, 在结合 rsync 同步的时候, 会减少运行时消耗的本地及网络资源, 因此速度更快.
2. 相比其他项目, sersync 配置起来简单
3. 使用多线程同步 (即可以并发同步多个不同文件), 尤其在同步较大文件时, 能够保证多个服务器实时保持同步状态
4.Sersync 自带出错处理机制, 通过失败队列对出错的文件重新同步, 如果仍旧失败, 则每 10 个小时对同步失败的文件再重新同步
5.Sersync 自带 crontab 功能, 只需在 xml 配置文件中开启, 即可按预先的配置, 隔一段时间整体同步一次
6.Sersync 自带 socket 与 http 的协议扩展, 可以满足有特殊需求的公司二次开发.
希望经过分享可以帮到有需要的盆友们. Linux 如今深受互联网企业的喜爱, 想要众多的 IT 工作者中脱颖而出, 就需要拥有高深的技术, 学习增值是必不可少的. 学习之路, 是贵在坚持的. 老男孩教育 Linux 云计算运维课程, 10 年技术沉淀, 杜绝纸上谈兵, 全企业真实案例结合理论授课, 想深入的学习 Linux 云计算运维的知识, 可以关注下老男孩教育.
来源: http://www.bubuko.com/infodetail-2596502.html