V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.0.51bbc.workers.dev/pro/about
niuer
V2EX  ›  推广

糗百的数据迁移实践

  •  
  •   niuer · May 5, 2015 · 6958 views
    This topic created in 4010 days ago, the information mentioned may be changed or developed.

    糗事百科(以下简称“糗百”)被誉为移动互联网时代的新娱乐手段,其上海量真实用户的糗事深受喜爱,每天有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 replies    2015-05-06 17:36:29 +08:00
    mopig
        1
    mopig  
       May 5, 2015
    连续看了俩广告贴, 快绝望了...

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

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

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

    七牛费了老鼻子劲儿还傻乎乎上传了身份证,现在感觉还真不如另外某家(避免广告嫌弃就不提了)
    icloudnet
        19
    icloudnet  
       May 5, 2015
    被标题忽悠进来的
    odirus
        20
    odirus  
       May 5, 2015
    软文
    snopy
        21
    snopy  
       May 5, 2015
    一入糗门深似海,从此节操是路人。
    snopy
        22
    snopy  
       May 5, 2015
    还有一句,糗百虐我千百遍,我待糗百如初恋。
    coreos
        23
    coreos  
       May 5, 2015
    @其实还好 七牛有漂亮妹子,约了,你们还有什么要说的?
    Raidal
        24
    Raidal  
       May 5, 2015
    这个没什么值得说的
    churchmice
        25
    churchmice  
       May 5, 2015
    糗百我感觉有官方雇佣段子手,天天在上面编段子娱乐大众,看得我恶心死了
    Borden
        26
    Borden  
       May 5, 2015
    @churchmice 没错,直接看糗百各种难受鸡皮疙瘩。但是糗百也有好段子,所以一般看其他网站从糗百选出来的那些段子就行了,体验好很多。
    BorisChen
        27
    BorisChen  
       May 6, 2015 via Android
    到处都是七牛软文,看见七牛都恶心了。
    kn007
        28
    kn007  
       May 6, 2015
    我是过来支持又拍云的。嗯,就这样
    kn007
        29
    kn007  
       May 6, 2015
    七牛如果不是免费,会有那么多人用么?我怀疑
    PP
        30
    PP  
       May 6, 2015 via iPad
    糗百同意你们发布这篇文章了吗?
    xdlailai
        31
    xdlailai  
       May 6, 2015
    这种文章完全起反作用吧,反正我不信这里的人看到这篇文章会用。
    exuxu
        32
    exuxu  
       May 6, 2015
    七牛的软文 ...
    notcome
        33
    notcome  
       May 6, 2015 via iPhone
    原来数据迁移不是这么做的?我小时候想的第一个算法啊……
    kier
        34
    kier  
       May 6, 2015
    就这么个东西,值得发一篇文章?
    xiaozi
        35
    xiaozi  
       May 6, 2015
    绝望了,这是七牛的软文
    tanteng
        36
    tanteng  
       May 6, 2015
    @kamal
    lianxiaoyi
        37
    lianxiaoyi  
       May 6, 2015
    软文写的不错。。。。。
    weisdong
        38
    weisdong  
       May 6, 2015
    糗百这个客户还不错,有机会聊聊哈。
    yuankui
        39
    yuankui  
       May 6, 2015
    软死了...
    dreamramon
        40
    dreamramon  
       May 6, 2015
    太软了,七牛的速度很一般,实测下一下就知道了。
    williamx
        41
    williamx  
       May 6, 2015   ❤️ 1
    这篇软文失败在:
    一。看不懂的人看得糊涂;
    二。看得懂的人看得透彻。
    sm0king
        42
    sm0king  
       May 6, 2015
    从不相信七牛 ucloud 之类的,吹的大。
    notnumb
        43
    notnumb  
       May 6, 2015
    糗百技术差劲,7牛帮忙解决。文章是这个意思么?
    niboy
        44
    niboy  
       May 6, 2015
    反正不用。。。
    sigone
        45
    sigone  
       May 6, 2015 via Android
    这是一个专发软文的渣渣号
    G2bN4dbX9J3ncp0r
        46
    G2bN4dbX9J3ncp0r  
       May 6, 2015
    软文
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2831 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 146ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    ♥ Do have faith in what you're doing.