糗百的数据迁移实践 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
niuer
V2EX    推广

糗百的数据迁移实践

  •  
  •   niuer 2015-05-05 14:31:17 +08:00 6623 次点击
    这是一个创建于 3820 天前的主题,其中的信息可能已经有所发展或是发生改变。

    糗事百科(以下简称“糗百”)被誉为移动互联网时代的新娱乐手段,其上海量真实用户的事深受喜爱,每天有1亿次动态请求,峰值请求数为每秒30000次。面对如此高的并发访问量,糗百原来自建的平台越来越难以支撑,开始出现服务器过载、跨机房同步延时大、图片中心磁盘I/O成为瓶颈等问题。

    为了解决这些刚性的服务压力,优化用户的服务体验,并考虑到七牛对静态资源存储的强大技术实力和优秀的解决方案,糗百决定将图片存储迁移到七牛平台上,并开始使用七牛提供的CDN服务。本文将结合糗百的数据迁移实践,来详细讲述如何在不中断服务的情况下,将海量数据平滑迁移到七牛平台的全过程。

    qrsync+镜像存储打造平滑迁移方案

    传统的数据迁移方案是:关掉网站原来的数据上传通道,所有数据变成只读,然后将所有数据上传到新的存储节点,再将上传入口改为新的存储节点,之后开放网站的上传功能。这样带来的问题是,数据迁移过程中,用户长时间不能进行上传操作,用户体验非常差。如何解决这个问题呢?

    针对糗百这么大体量的应用,七牛提供的数据迁移方案上传工具qrsync+镜像存储,很好地绕开了传统迁移方案所带来的问题。糗百先通过七牛的数据上传工具qrsync将大量冷数据传到七牛平台上,并将数据访问地址切换成七牛的域名。由于用户生成的大量热数据还在糗百自己的平台上,为了不出现数据丢失的情况,保证用户访问的流畅性,糗百选用了七牛的镜像存储服务。

    七牛的镜像存储为整个数据迁移过程提供良好的过渡支持作用。当用户访问的数据不在七牛平台上时,镜像存储服务将回糗百源站抓取数据,并保存在七牛平台上。故此,镜像存储对每个资源只需回源一次,后续访问的时候就不再回源了。

    随后,为了进一步缓解糗百源站的I/O压力,糗百对旧有系统做了一次版本升级,将新系统的图片存储直接放在七牛平台上。新版本的用户可以顺畅地将数据上传到七牛平台上,并实现访问,而旧系统的App版本还会有一部分用户在使用。这时,就要在一段时间内保证两套系统可用。但旧系统的App用户所产生的数据还是会被上传到糗百的自建平台中,在用户第一次访问这些数据时,镜像存储服务对糗百源站做回源,很好地确保了这部分数据的可用性。由于目前App客户端的版本更新速度比较快,因此在所有用户都更新成新版系统,源站的回源流量逐渐趋于0时,就可以将镜像功能删除了。

    就这样,在用户毫无感知的情况下,糗百轻松实现了对图片存储的迁移,平稳地解决了图片中心磁盘I/O的瓶颈问题。

    镜像存储的使用方法

    假设源站所有的图片,放在一个叫img.example.com的子域里。那么平滑迁移的方式是:

    1. 在七牛上建立一个镜像bucket,设定源站为img.example.com。假设镜像bucket是example-img,到空间设置的域名设置中即可找到形式为7xiuqc.com1.z0.glb.clouddn.com的七牛域名;
    2. 将所有对外使用的图片的域名改为7xiuqc.com1.z0.glb. clouddn.com;
    3. 如果网站数据是UGC(用户产生内容)的,调整上传流程,传到七牛的镜像 bucket,这样源站就变成只读;
    4. 使用qrsync同步工具将历史数据全部同步到七牛的镜像bucket。

    如此就完成了整个迁移过程。此时img.example.com这个源站就可以废弃不用了。

    结语

    相信数据资源高速增长这样的“甜蜜负担”,是很多企业都会遇到的。而如何借助云服务来合理扩容,如何在不中断服务的前提下,平滑地实现数据迁移,将成为决定企业未来命运的关键一环。七牛云存储不仅能为企业用户稳定高效的底层存储平台,镜像存储等优质的服务更能在数据迁移过程中提供强大的助力。此外,完成数据迁移之后,七牛提供的丰富的图片、音视频处理功能也为包括糗百在内的诸多企业带来了很大的惊喜。后续我们将专门撰文分享这部分内容。

    46 条回复    2015-05-06 17:36:29 +08:00
    mopig
        1
    mopig  
       2015-05-05 14:33:30 +08:00
    连续看了俩广告贴, 快绝望了...

    非 糗百 的员工为什么能以糗百的名义发软文?
    ewex
        2
    ewex  
       2015-05-05 14:36:24 +08:00
    就吹吧,对待客户分等级,呵呵
    nilai
        3
    nilai  
       2015-05-05 14:37:13 +08:00
    我能说这是软文么。
    chairuosen
        4
    chairuosen  
       2015-05-05 14:38:38 +08:00
    不是糗百,是七牛的软文。。。
    thankyourtender
        5
    thankyourtender  
       2015-05-05 14:38:48 +08:00
    再黑一下七牛,不黑浑身难受.
    WKPlus
        6
    WKPlus  
       2015-05-05 14:42:46 +08:00
    我还准备来对暗号,你就给我看广告
    Huadb
        7
    Huadb  
       2015-05-05 14:48:50 +08:00 via iPhone
    七牛不是个玩具吗?
    lhehuang
        8
    lhehuang  
       2015-05-05 14:51:59 +08:00
    KPI考核的压力越来越大啊
    lyragosa
        9
    lyragosa  
       2015-05-05 14:53:11 +08:00
    用个CDN都要认证身份证,真他妈有毛病。
    sopato
        10
    sopato  
       2015-05-05 14:57:47 +08:00
    七牛用着不错呀,我闪。。。
    abelyao
        11
    abelyao  
       2015-05-05 15:01:11 +08:00
    @WKPlus 天王盖地虎
    yiciyuansky
        12
    yiciyuansky  
       2015-05-05 15:06:36 +08:00
    我是来看评论的
    kamal
        13
    kamal  
       2015-05-05 15:17:56 +08:00
    cst4you
        14
    cst4you  
       2015-05-05 15:23:38 +08:00
    @lyragosa 因为怕你做坏事啊~~

    我用 upyun 的 CDN, 就没要我身份证 = = 然后用他们的域名, 备案都不用
    coosir
        15
    coosir  
       2015-05-05 16:08:45 +08:00
    以为有干货,结果通篇就是为了介绍七牛镜像存储
    Dongdong36
        16
    Dongdong36  
       2015-05-05 16:24:31 +08:00
    七牛要注册填写的东西不是一般的多。
    lyragosa
        17
    lyragosa  
       2015-05-05 16:46:07 +08:00
    @cst4you up云不但要手机,还要qq号
    mcone
        18
    mcone  
       2015-05-05 16:59:32 +08:00
    七牛的软文…………

    最近发现七牛的抽奖才开始用的,抽了一个冲1000返500的“红包”你觉得我就会去充值了么,又送我一个冲200送60的好友红包你觉得我就会替你推荐了嘛…………PM还是有点naive的说

    七牛费了老鼻子劲儿还傻乎乎上传了身份证,现在感觉还真不如另外某家(避免广告嫌弃就不提了)
    icloudnet
        19
    icloudnet  
       2015-05-05 17:09:16 +08:00
    被标题忽悠进来的
    odirus
        20
    odirus  
       2015-05-05 17:20:19 +08:00
    软文
    snopy
        21
    snopy  
       2015-05-05 22:14:29 +08:00
    一入糗门深似海,从此节操是路人。
    snopy
        22
    snopy  
       2015-05-05 22:15:35 +08:00
    还有一句,糗百虐我千百遍,我待糗百如初恋。
    coreos
        23
    coreos  
       2015-05-05 22:51:18 +08:00
    @其实还好 七牛有漂亮妹子,约了,你们还有什么要说的?
    Raidal
        24
    Raidal  
       2015-05-05 22:55:47 +08:00
    这个没什么值得说的
    churchmice
        25
    churchmice  
       2015-05-05 22:59:28 +08:00
    糗百我感觉有官方雇佣段子手,天天在上面编段子娱乐大众,看得我恶心死了
    Borden
        26
    Borden  
       2015-05-05 23:49:59 +08:00
    @churchmice 没错,直接看糗百各种难受鸡皮疙瘩。但是糗百也有好段子,所以一般看其他网站从糗百选出来的那些段子就行了,体验好很多。
    BorisChen
        27
    BorisChen  
       2015-05-06 02:26:46 +08:00 via Android
    到处都是七牛软文,看见七牛都恶心了。
    kn007
        28
    kn007  
       2015-05-06 07:37:29 +08:00
    我是过来支持又拍云的。嗯,就这样
    kn007
        29
    kn007  
       2015-05-06 07:39:26 +08:00
    七牛如果不是免费,会有那么多人用么?我怀疑
    PP
        30
    PP  
       2015-05-06 07:54:11 +08:00 via iPad
    糗百同意你们发布这篇文章了吗?
    xdlailai
        31
    xdlailai  
       2015-05-06 08:21:56 +08:00
    这种文章完全起反作用吧,反正我不信这里的人看到这篇文章会用。
    exuxu
        32
    exuxu  
       2015-05-06 08:26:15 +08:00
    七牛的软文 ...
    notcome
        33
    notcome  
       2015-05-06 08:40:19 +08:00 via iPhone
    原来数据迁移不是这么做的?我小时候想的第一个算法啊……
    kier
        34
    kier  
       2015-05-06 09:05:40 +08:00
    就这么个东西,值得发一篇文章?
    xiaozi
        35
    xiaozi  
       2015-05-06 09:06:34 +08:00
    绝望了,这是七牛的软文
    tanteng
        36
    tanteng  
       2015-05-06 09:31:16 +08:00
    @kamal
    lianxiaoyi
        37
    lianxiaoyi  
       2015-05-06 09:36:44 +08:00
    软文写的不错。。。。。
    weisdong
        38
    weisdong  
       2015-05-06 09:45:46 +08:00
    糗百这个客户还不错,有机会聊聊哈。
    yuankui
        39
    yuankui  
       2015-05-06 09:49:57 +08:00
    软死了...
    dreamramon
        40
    dreamramon  
       2015-05-06 11:05:34 +08:00
    太软了,七牛的速度很一般,实测下一下就知道了。
    williamx
        41
    williamx  
       2015-05-06 11:14:12 +08:00   1
    这篇软文失败在:
    一。看不懂的人看得糊涂;
    二。看得懂的人看得透彻。
    sm0king
        42
    sm0king  
       2015-05-06 11:17:46 +08:00
    从不相信七牛 ucloud 之类的,吹的大。
    notnumb
        43
    notnumb  
       2015-05-06 13:46:12 +08:00
    糗百技术差劲,7牛帮忙解决。文章是这个意思么?
    niboy
        44
    niboy  
       2015-05-06 16:38:38 +08:00
    反正不用。。。
    sigone
        45
    sigone  
       2015-05-06 16:57:36 +08:00 via Android
    这是一个专发软文的渣渣号
    G2bN4dbX9J3ncp0r
        46
    G2bN4dbX9J3ncp0r  
       2015-05-06 17:36:29 +08:00
    软文
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     910 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 19:16 PVG 03:16 LAX 12:16 JFK 15:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86