V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
niuer
V2EX  ›  推广

糗百的数据迁移实践

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

    糗事百科(以下简称“糗百”)被誉为移动互联网时代的新娱乐手段,其上海量真实用户的糗事深受喜爱,每天有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
    这是一个专发软文的渣渣号
    lidashuang
        46
    lidashuang  
       2015-05-06 17:36:29 +08:00
    软文
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:44 · PVG 10:44 · LAX 18:44 · JFK 21:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.