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

本文探讨了inotify和Sersync这两种文件系统监控工具的特点。inotify适合监控文件系统变化并实现数据同步,但在高并发场景下可能出现延迟。Sersync则支持配置文件管理、多线程rsync同步等特性,特别适用于需要高效同步大量文件的场景。
摘要由CSDN通过智能技术生成

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,备没有找主解决延迟问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值