线上系统架构设计之 【文件系统同步篇】

此项目是一个中小型APP类应用,服务器是运营商分配的两台公网IP的虚拟机,后面无共用存储等设备。由于前端要采用负载均衡技术,为了保证数据一致性和安全性,采用两台服务器网站文件之间实时同步,外加一台远程备份用服务器,共三台。所以选择Rsync+sersync 负责主服务器到远程服务器单向(参考之前文章),UNISON+inotify实现主备服务器之间实时相互同步。

一、安装过程:yum -y install ocaml

wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/unison-2.48.3/unison-2.48.3.tar.gz

tar zxvf unison-2.48.3.tar.gz

cd unison-2.48.3

yum -y install ctags-etags

make UISTYLE=text

mkdir /root/bin

cp unison /root/bin/

cp unison /root/bin/unison-2.48

cp unison /usr/local/bin/unison

make install

1026  tar zxvf inotify-tools-3.13.tar.gz
 1027  cd inotify-tools-3.13
 1028  ./configure --prefix=/usr/local/inotify
 1029  make && make install
 1030  echo "PATH=/usr/local/inotify/bin:$PATH" >/etc/profile.d/inotify.sh
 1031  chmod +x /etc/profile.d/inotify.sh
 1032  source /etc/profile
 1033  echo "/usr/local/inotify/lib" >/etc/ld.so.conf.d/inotify.conf
 1034  ldconfig -v | grep inotify
 1035  ln -sv /usr/local/inotify/include/ /usr/include/inotify
 1036  history

二、设置SSH互信   略

三、编写运行脚本 ,放置后台运行

#!/bin/bash
/usr/local/inotify/bin/inotifywait -mrq -e create,delete,modify,move /wqdata/mofi/ | while read line
do
/root/bin/unison -servercmd=/root/bin/unison -batch /wqdata/mofi/ ssh://[email protected]:8022//wqdata/mofi/
 echo "`date `sync successful" >> /wqdata/sync.log
done

手工同步命令:/root/bin/unison -servercmd=/root/bin/unison -batch /wqdata/mofi/ ssh://[email protected]:8022//wqdata/mofi/

时间: 2024-08-08 09:29:42

线上系统架构设计之 【文件系统同步篇】的相关文章

线上系统架构设计 之 【数据库篇-主主从】

双主一从架构,从服务器在本地,用于备份和研发测试.两台线上服务器进行数据库相互同步,保证数据一致性,采用xtrabackup备份数据库+脚本每天1点异地备份到从服务器. 一.对线上的一台主服务器数据进行备份,并恢复到另外两台服务器上. innobackupex --defaults-file=/wqdata/mysql/my.cnf --user=bkuser --password='123456' /wqdata/mofidbbak/fullbackup/    备份 scp -P 8022

电商峰值系统架构设计--转载

1.1 系统架构设计目录 摘要:双11来临之际,<程序员>以“电商峰值系统架构设计”为主题,力邀京东.当当.小米.1号店.海尔商城.唯品会.蘑菇街.麦包包等电商企业,及商派.基调网络等服务公司,分享电商峰值系统架构设计的最佳技术实践. 自2009年11月11日,淘宝商城(现名天猫)拉开网购狂欢节的序幕,各大电商的促销浪潮此起彼伏.此时的电商大战不仅是价格之争,更是技术的较量.如何设计电商峰值系统来更好地满足用户蜂拥而至的访问,如何在海量数据处理中实时发现有效信息并转化为商机,成为众多电商企业密

京东虚拟业务多维订单系统架构设计读后感

阅读文章:京东虚拟业务多维订单系统架构设计 文章网址:https://mp.weixin.qq.com/s?__biz=MzU1MzE2NzIzMg==&mid=2247486428&idx=1&sn=382f9d307073839f7900df7168916cf1&chksm=fbf7bb33cc80322599a586248c4bf92880374dcb8c48249c91b03170230112492b3ec628206e&scene=21#wechat_re

线上界面和设计原稿

线上界面和设计原稿的巨大差异 在互联网产品的研发流程中,页面的视觉还原是很重要的一个步骤,也往往是问题最多的一个环节.如果一些细节问题在这个环节没有被有效地发现并解决,那么后续流程中再去解决这些问题的成本就会呈指数上升. 那么今天我们就来梳理一下,看看前端工程师本身以及上下游的角色之间,都会容易遇到哪些常见的问题. 设计师 设计师是最贴近产品体验的人,但是术业有专攻,设计师往往更加注重视觉的表现,而容易犯一些美丽的错误: 1,以原生 APP 的体验类比 H5 页面设计 我们都知道,原生 APP

petshop4.0 具体解释之中的一个(系统架构设计)

前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的商业色彩,对于我们开发者而言,没有必要过多关注.然而PetShop随着版本号的不断更新,至如今基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又非常多能够借鉴之处.PetShop是一个小型的项目,系统架构与代码都比較简单,却也凸现了很多颇有价值的设计与开发理念.本系列试

NET ERP系统架构设计

解析大型.NET ERP系统架构设计 Framework+ Application 设计模式 我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联.除去业务上的复杂性,如何设计这样的一个协作良好的系统,搭建开发人员基础平台,一直是我研究的方向. SouceCounter(版本3.3.91.79)对源代码的统计信息如下: 下面来详细解析一下这个系统的设计架构,纯.NET技术架构方案,C/S W

Unity3D手游开发日记(2) - 技能系统架构设计

我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要10个,那么表格也得预留10个特效的字段.在代码里面也是写死一些东西,要增加和修改,就得改核心代码,如果我要把核心部分做成库封装起来,就很麻烦了. 能不能做成数据驱动的方式呢? 改技能文件就行了,即使要增加功能,也只需要扩展外部代码,而不用改核心代码, 我是这么来抽象一个技能的,技能由一堆触发器组成,比

IM系统架构设计之浅见

背景:除去大名鼎鼎的QQ这款即时聊天工具,还有许多细分行业的IM,比如淘宝阿里旺旺.网易泡泡.YY语音.......恰巧公司产品也要开发一款基于我们自己行业的类IM系统,很有幸我担当了这个产品的架构师,核心代码编写.实现者.下面我近年来从技术上我对IM系统(即时消息的传输,不包括语音,视频,文件的传输)的理解和设计分享出来,浅薄之见,望大家别见笑,欢迎给出批评意见. 一.网络传输协议的选择 目前我知晓的所有IM系统传输即时消息无外乎使用UDP.TCP.基于TCP的http这几种协议中的一种或几种

秒杀系统架构设计

秒杀活动的用户量可能是网站平时正常访问量的数百甚至上千倍,网站如果为了秒杀时的最高并发量而设计部署,就需要比正常运营多的多的服务器,而这些服务器在绝大部分时候都是用不着的,浪费惊人.所以秒杀业务不能使用正常网站的业务流程,也不能与正常网站业务共用服务器,必须设计部署专门的秒杀系统. 秒杀系统所面对的技术挑战: 1.对现有业务造成冲击 2.高并发下的应用.数据库负载 3.突然增加的网络及服务器带宽 4.直接下单 秒杀规则是到点了才能下单,而下单页面也只是一个普通的url,如果得到这个url则不用等