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


多机数据同步机制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当机失效,同步就会失败。因此,有必要的话,可以组成双主服务器的星型结构来弥补;
 
来源 http://blog.csdn.net/songxixi/article/details/8787923

相关内容

    暂无相关文章