多机数据同步机制Unison+inotify-tools

        今天早上在QQ群里无意中,听到一个有关不同机器的双向实时同步的问题,想到后,发现数据库当中(mysql),好像对双向实时同步技术貌似很局限,更不要说要做到多机的双向实时同步了,一次便在网上进行各种谷歌,百度的文档搜索,希望查询其中的优秀案例,以供参考,最后无果而终,网上说有关文件的相关双向同步,可以做到实时的案例,但在DB层上,无法进行穿越,没有找到相关案例;以下是unison和inotify的相关同步机制;此同步在web集群中,同步双向实时的数据文件非常好;记录此文以此留下相关记录!

Unison: 实现双向同步
Inotify tools: 监控文件系统
OpenSSH: 远程主机间的文件传输

以下是网上找到的相关软件的定义;

Unison是一款跨平台的文件同步工具,不仅支持本地对本地同步,也支持通过SSH、RSH和Socket等网络协议进行同步。更棒的是,Unison支持双向同步操作,你既可以从A同步到B,也可以从B同步到A,这些都不需要额外的设定。

Inotify是一种文件变化通知机制,Linux内核从2.6.13开始引入。在BSD和Mac OS系统中比较有名的是kqueue,它可以高效地实时跟踪Linux文件系统的变化。近些年来,以fsnotify作为后端,几乎所有的主流Linux发行版都支持Inotify机制。

inotify-tools 是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。 inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他。

以下是对于多级的配置双向实时同步的扩谱图;


群集中,同步在多机之间进行,而unison的同步功能仅支持双机。因此我们设计了一个星型的拓扑结构,来实现多机的同步。其设计思想就是利用unison的双向同步功能,指定一台服务器为星型结构的主服务器(server1),剩余服务器与其进行双向同步。这样,任何一台服务器上的文件变化都可以通过这个结构扩散,从而达到多机同步的目的;这一结构的缺点是一旦server1当机失效,同步就会失败。因此,有必要的话,可以组成双主服务器的星型结构来弥补;(以上案例来自“IT业一老兵”网友感谢其提供的案例,有转载请注明出处,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值