首页
登录 | 注册

Inotify和Sersync的优缺点及高并发同步方案

Inotify优缺点

inotify优点:

监控文件系统事件变化,通过同步工具实现实时数据同步

 

iontify缺点:

1.并发如果大于200个文件(10-100K),同步会有延迟

2.监控到事件后,调用rsync同步是单线程的(加&并发),sersync多进程同步

 

 

Sersync优缺点

sersync的功能:

1.支持配置文件管理

2.真正的守护进程socket

3.可以对失败文件定时重传(定时任务功能)

4.第三方的HTTP接口(例:更新cdn缓存)

5.默认多线程rsync同步

 

优点:

1.使用C++编写,对linux系统文件产生的临时文件和重复的文件操作会进行过滤,在结合rsync同步的时候,会减少运行时消耗的本地及网络资源,因此速度更快。

2.相比其他项目,sersync配置起来简单

3.使用多线程同步(即可以并发同步多个不同文件),尤其在同步较大文件时,能够保证多个服务器实时保持同步状态

4.Sersync自带出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则每10个小时对同步失败的文件再重新同步

5.Sersync自带crontab功能,只需在xml配置文件中开启,即可按预先的配置,隔一段时间整体同步一次

6.Sersync自带socket与http的协议扩展,可以满足有特殊需求的公司二次开发。

缺点:

sersync有重传机制(内置的定时任务),但是只重传一次,如果重传失败就会清空重传队列,即清空/tmp/rsync_fail_log.sh文件。这样就会造成sersync服务恢复正常后(即可以同步文件),数据同步的两个服务器数据不一致的现象。因为,/tmp/rsync_fail_log.sh文件为空,而sersync只对发生变化的文件做实时同步(ps:sersync默认每隔十个小时做一次完整的数据同步)。

高并发数据实时同步方案

1.inotify(sersync)+rsync,是文件级别的

2.dtbd文件系统级别,文件系统级别,基于block块同步,缺点:备节点数据不可用

3.第三方软件的同步功能:mysql同步、oracle、mongodb

4.程序双写,直接写两台服务器

5.通过业务逻辑解决:读写分离,备读不到,读主

6.NFS集群(双写主储存,备存储用inotify(sersync)+rsync,备没有找主解决延迟问题)



2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.008 s.
京ICP备10005923号