Sersync 是我们金山逍遥网技术支持部平台组周洋同学,开发的一款基于 inotify + rsync 的大量文件的多服务器自动同步程序,目前已开源,开源协议为 New BSD License。

  原理:
  使用 Linux 2.6 内核的 inotify 监控 Linux 文件系统事件,被监听目录下如果有文件发生修改,sersync 将通过内核自动捕获到事件,并将该文件利用 rsync 同步到多台远程服务器。sersync 仅仅同步发生增、删、改事件的单个文件或目录,不像rsync镜像同步那样需要比对双方服务器整个目录下数千万的文件,并且支持多线程同步,因此效率非常高。

  应用:
  金山游戏官网的 CMS 内容发布系统。无论编辑通过 Web 还是 FTP 上传图片、视频、附件,还是系统工程师直接去CMS发布服务器上增加、修改、删除文件,干完这些事情后不用做任何处理,sersync 会自动将发生增、删、改事件的文件同步到远程服务器,并可以在文件同步完成后,自动调用 CDN(ChinaCache)缓存刷新接口,刷新发生修改、删除的文件的访问 URL。

  更多内容,请访问项目网址:http://code.google.com/p/sersync/






技术大类 » 其他Unix技术 | 评论(78) | 引用(0) | 阅读(101296)
ever
2010-4-16 11:07
这里只解决了文件了单向同步问题,网通电信两个接点,,或者有多个节点,用户都需要上传文件,这设计到文件的多向同步(不采用nfs),请问你是怎么解决的?
johntech
2010-4-16 13:58
多向同步用sersync也可以,但效率就不高了,会有多余的rsync通信,如果2台机器会多1次多余rsync通信,3台机器,就会产生4次多余通信,4台机器,9次。以此类推。sersync减少冗余通信,这个还没做,目前还是主从同步。
有个叫csync项目,但这个貌似好像不是实时的。这个是我目前知道的,有没有其他的解决方案,还得问张大侠......
安科
2010-4-16 14:10
恭喜周洋,恭喜宴哥。真是个好消息啊~
sky
2010-4-16 19:25
你好我想请教一下如何能在FreeBSD 系统实施 inotify + rsync 或者是 sersync 呢?因为FreeBSD 好似是无 inotify 的 但有kqueue 。可是我搞不懂kqueue 那麽想问下楼主有否 实时备份方案给 FreeBSD 系统作个参考呢 ?
酷酷
2010-4-16 20:56
这个对大文件的同步在专线的情况可以做到增量传输吗
lzqie
2010-4-17 16:58
请问这套同步机制支持增量吗?能支持大于30G以上的文件同步吗?
如果同步源上的文件删除了,目标机器上的文件,同步系统会删除吗?

这个问题好像没有回答,,,是否有--delete 参数呢
kunta
2010-4-17 21:21
群里面有人用sersync做过30G左右的文件监控同步,反应情况是,目前看比csync效果好,但她没有给出具体的评测,
具体大于30g使用情况,可以问下群里叫kavin的人。
默认带--delete参数。是实时增量同步。
部落
2010-4-18 14:05
这个目前还不支持保持文件权限
不支持自定义rsync参数
IT渠道 Homepage
2010-4-19 17:53
我们在2年前就使用inotify+rsync+bash实现了CMS同步。我们也有一套系统,不过没有开源。
终于找到 Homepage
2010-4-19 18:38
哈哈  终于找到了。。。。
电子骑士
2010-4-19 20:29
不错的东东!核心需求是高效的多机双向同步。
如果有能力的话,大文件建议用Hadoop集群,中小文件建议搭建FastDFS集群。
gaojinbo Email Homepage
2010-4-20 11:50
这个开源了非常好,测试一下!
w233571
2010-4-20 14:08
用./sersync2.4 -r -d开始对目标服务器统一同步一次,和监控/ww目录,完全的同步是正常的,但监控/WW来实现实时同步时发现,我的/ww目录文件发生增删改后,其他服务器会同步一次。之后./sersync2.4 -r -d的进程就会自动的关闭了,之后无法实现同步!我不知道哪里出了问题,请大家指教指教!为什么监控到一次增删改之后进程会自动的关闭啊!我用的系统是centos5
Acumen
2010-4-20 17:12
超级谢谢!~~~download了!!
wangsong Email
2010-4-23 17:29
大侠

     这么好的东西,应该贴个实例出来让我们一起跟着学习一下,有空写个吧,呵呵!
asliu
2010-4-29 18:00
有压力测试方面的数据没, 比如一台master,同一时间能同时向5台slave rsync多少个小文件(<10k);而不会导致master上的rsync链接释放的问题
eeffe Homepage
2010-5-6 17:01
对idc来说是个好消息
2j
2010-5-17 14:29
这个用了以后还需不需要另外再配置rsync?
130185830 Email
2010-5-20 17:01
自动刷新CDN缓存机制.请问这是个什么东西呢?小弟学浅不知道。麻烦给个介绍。
还有上面你回复别人的这句话。

假设监听源服务器/opt目录,该目录下有a.txt、b.txt、c.txt三个文件。修改了b.txt文件,则自动将b.txt同步到远程服务器覆盖远程文件。删除了c.txt文件,则自动删除远程服务器b.txt。在源服务器/opt目录内创建了子目录test,则远程服务器也创建子目录test。在test目录内新建了文件d.txt,则自动将test/d.txt同步到远程服务器test/d.txt。a.txt文件没有任何修改操作,则不会同步。

删除了c.txt文件,则自动删除远程服务器b.txt。这句话没有弄明白什么意思,为什么删了C文件在远程上会删B文件呢?我没有搞明白。还是你又笔误了呢?请给个明示。

不支持多目录同步到多目录的操作.这句话是个什么意思?谢谢.
ique
2010-5-25 13:12
你好,为什么国内没有一些开源代码的存放平台,一定要放到ss,codegoogle这些地方.

想法相同的朋友emailme:ique@sohu.com
分页: 2/4 第一页 上页 1 2 3 4 下页 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]