热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用户过亿,成熟产物怎样周全拥抱公有云?

现如今,当人们在议论公有云的时刻,已习惯性的给公有云戴上了效劳小微企业的帽子,而大部份云效劳供应商都邑面对以下质疑:1.创业公司范围增大到一定水平后,挑选公有云是不是真的勤俭本钱。

《用户过亿,成熟产物怎样周全拥抱公有云?》

现如今,当人们在议论公有云的时刻,已习惯性的给公有云戴上了效劳小微企业的帽子,而大部份云效劳供应商都邑面对以下质疑:1. 创业公司范围增大到一定水平后,挑选公有云是不是真的勤俭本钱。2. 成熟的产物放在公有云上,当前的国内云效劳商是不是能可靠,供应充足的稳固性。笔者想,一切国内的云效劳商都默默的憋着一口气,一定要靠谱的效劳些有范围的成熟产物来正公有云的名。七牛作为一家竖立三年的云效劳供应商,已具有一批具有海量数据的成熟性产物,也想分享下这方面的履历与案例,愿望能够给首次尝试云效劳的成熟产物有些自创。

《用户过亿,成熟产物怎样周全拥抱公有云?》

对云,爱过,伤过?

碰到过许多具有海量数据的互联网产物,初期会认为一切的效劳都应当控制在自身的手上,如许可控性最强。他们个中也会有些尝试过一些云效劳,但假如在当时效劳质量没有赋予他们充足自信心,那末很长一段时候内,他们的绝大部份效劳,都是自建的,比方说图片源站存储挑选运用业界的一些开源东西自建。

然则这两年,跟着精益创业理念的流行,以及云效劳的进一步完美,他们又会最先重新斟酌运用第三方效劳,观念在逐渐转变为:专业的东西,让更专业的人来做,而团队则更专注营业的优化。谓之“善假于物也”。2014年纳斯达克上市的挪动交际平台陌陌恰是阅历了如许一个历程。2014年,当自建的源站存储,跟着用户量过亿以及月活泼用户增大至数万万,碰到了接见的压力时,他们想到了七牛云。

小试“牛刀”

七牛平台上已承载了一批具有海量数据的成熟互联网产物,个中不乏上市公司,许多都是UGC类产物,比方海康威视,唱吧,camera360,豌豆荚,视觉中国等。这里面的履历是:出于之前对云效劳已持有的疑心以及郑重立场,成熟产物在挑选一家第三方云效劳时,会举行异常系统而郑重的功用以及机能测试。这个测试重要包括:

  1. 起首是功用,看供应的API是不是是能够充足斟酌到客户对场景的需求,而且是不是留给调用者以充足的灵活性。另外,功用的运用者是顺序员,而API就是顺序员的UI(用户界面)。API应当对顺序员友爱,应当简朴,直观,轻易运用的同时文雅。
    在陌陌测试七牛的案例中,依据产物营业运营的特性,他们离别从差别大小的文件上传,下载,缩略图处置惩罚,自定义域名绑定,以及七牛独占的镜像存储等功用点举行了测试。

  2. 雄厚的API,易用性强能够敏捷接入,满足场景特性。接下来就是要测试源站的稳固性了。
    测试稳固性平常都是放一小部份的量跑一段时候看各方面数据。为了测试稳固性,陌陌先丢了万分之一的量到七牛上,跑了一周。在成熟产物对七牛举行开端稳固性测试的时刻,运用的平常是七牛的“镜像存储”功用。镜像存储是指数据照样存储在客户源站的状况下,分外运用七牛作为镜像效劳器,关于已具有海量数据的客户,这个功用既能够很轻易的感觉到加快又有“安全感”。经由过程七牛的开发者背景,可认为源站设置镜像存储,让网站的用户每次接见的时刻都从七牛云存储上读取。假如云端上没有用户须要读取的数据,则七牛的效劳器会从源站拉取资本,然后再返回给终端用户。在七牛内部,这个功用又被称为“秒接”,个中寄意,能够感觉下。

三观正了,从万分之一到百分之十

在测试历程当中,效劳方和客户方也会在手艺选型、团队、产物以及效劳理念等方面举行异常深切的交换,客户也会从“三观”来评价云效劳。三观正了,会对后续的协作有很大的推进作用,也让相互都有了很好的信托基本。在这个效劳为王的时期,专注,专业,极致的效劳理念应当是每家云供应商放在心里去遵照的。

在七牛推进与成熟产物协作的历程当中,另有个手艺细节被客户斟酌到的是:七牛效劳端是用Go言语写的,Go从基因上支撑并行盘算,异常适合做云效劳系统的搭建,因而许多客户对这个选型也异常承认。

回到陌陌的案例,阅历了系列测试后,对陌陌来讲,结果是很令他们惬意的,但由于自身已是成熟运营的互联网产物,本着对用户体验的担任,测试后决议只切10%的量到七牛上。

专业,极致

交际类产物与电商或许其他产物差别。关于用户已过亿,日活泼用户万万级别的交际类运用,后端系统文件数能够到达百亿级别。团体的接见中,图片的流量要占到90%以上,而且由于在挪动装备上被接见,因而系统中小于8k的图片迥殊多,而图片的显现质量,上传时候和接见速度都是直接影响到用户体验的症结因素。另外,关于交际类的UGC, 手艺难度在于没有数据是死角,一切数据理论上都是“热数据”,流量疏散,但总的接见压力异常大。另有交际收集中的突发热门形成的单个文件的并发接见急剧增大,也会给基本效劳带来庞大磨练。

如许的特性,基于开源手艺做存储,跟着源站的营业压力愈来愈大,假如出现题目,很难完成精准的bug定位。这些题目,许多自建存储的成熟产物平常都邑碰到。

而效劳过多个相似产物并淌过种种坑的第三方云存储效劳在这些方面会更有履历。下面也分享下七牛是怎样处理题目的:

  1. 海量存储。
    采纳多数据中心的广域网分布式架构,在全国竖立数个中心存储机房。客户能够依据自身的营业特性主动挑选存储机房或许完整交给云效劳系统来调理数据。另外,双数据中心之间采纳互备手艺,将两个数据中心用裸光纤互联,当用户上传到某个数据中心时,系统异步将文件数据和相干原数据同步到与之互备的另一数据中心,如许当一个数据中心毛病时,存储效劳会依据毛病的级别启用差别的应急预案,将要求切换到与之互备的数据中心。
    在手艺上存储系统的中心诉求是本钱和可靠性,而这二者又是一对抵牾,想下降丧失数据的风险,必将要增添每份数据拷贝的份数,而增添每份数据拷贝的份数,又必将增添本钱。为了处理这个题目,七牛运用了EC冗余算法来很好的均衡这对抵牾,到达低本钱,高可用。

  2. 流量压力的应对
    作为云效劳供应商,要承载更多的成熟营业,运营上的精细化是异常重要的,能够斟酌差别范例客户营业的特性,在设想缓存以及系统逻辑时,留有充足的灵活性以及可扩展性。云效劳须要竖立分级存储机制,而且根据对象接见热门举行迁徙。对内部数据流的分发系统举行一致,而且一致管理音讯流的处置惩罚流程,以便能有充足的容量来应对差别客户的峰值要求,使效劳更稳固。同时针对相应时候做及时监控,以确保题目出现时能够第一时候感知并作出处置惩罚。

  3. 壮大的图片/音视频处置惩罚效劳。
    在场景化时期,视觉系,富媒体类的数据会愈来愈多的发生。这个中有一部份来自用户主动天生,也会有一部份来自被动发生,比方摄像头的数据。能够预感,云存储平台上将会承载大批的图片音视频范例的数据,这个中云存储效劳对图片处置惩罚的及时相应才能也是重点。拿陌陌来讲,每一秒中有一半的图片都须要做处置惩罚,也就是说,每秒靠近5000次摆布的及时图片处置惩罚次数,要保证其及时性,99.9%都在一百毫秒之内处置惩罚完。而且,运用七牛的图片转码,能够将原有的JPG花样转为WebP花样,在一致质量的条件下取得更好的压缩比,节省了本钱。
    对视频的及时相应也是一样。当前比方说像短视频运用,另有一些其他的游戏视频分享,就是用户在手机上录完今后,背景传输,过个10秒钟你就能够分享了,分享完立即就有其他终端装备的用户接见了,接见须要的花样还不一定一样。假如客户采纳自建,这类及时性要求高,从后端数百千米,数千千米的机房,经由过程种种路由器,终究到用户小区的局域网,这条路是很长的,环境比较难控制。再到真正的效劳端,它必需数据要快,处置惩罚才能要强。然后又有高吞吐,用户量大了,一秒钟一台效劳器仅能支撑几百个KPS,这类状况下,对客户来讲,自建能保证机能的相应依然是优越的手艺难度大大增添。从我们观察到的,效劳端处置惩罚不应当凌驾一秒,凌驾一秒用户的体验将大受影响。

  4. 新增自定义处置惩罚来满足部份客户的特别数据处置惩罚的需求。这是七牛比较有特性的一个效劳。云效劳作为通用型框架,自身供应的处置惩罚效劳能够不能包括有些客户提出的不通用的数据处置惩罚需求。因而针对这类特别需求,客户能够定义自身的数据处置惩罚逻辑。客户说去我们机房买一个处置惩罚器是能够的。然则接下来要运维、机械悉数掩盖,这个流程做起来很累。自定义处置惩罚能够让用户把自定义顺序打包完,放在这个盘算框架里跑。用户的运用处置惩罚完今后,进入到指定的框架,让用户以插电的体式格局体验自身的逻辑。这个效劳也能够让更多自身针对非构造化数据做处置惩罚的开发者比方语音辨认,图像辨认效劳供应商等能够到场七牛平台上供应处置惩罚才能给我们的客户,人人一同把生态做起来。

  5. 专业的效劳认识。 效劳认识关于云效劳供应商的重要性自不必说,疾速定位和处理客户题目,敏捷相应客户的需求是一个好的云效劳供应商的剖断规范之一。

周全拥抱云存储

跟着对七牛的手艺以及效劳的愈来愈一定,几个月后,陌陌做出了决议,把七牛正式作为源站以及异地备份的供应方,而且将一切图片处置惩罚也转至七牛。同样是一向坚持创业精神的陌陌,须要一家延续、稳固、有远景、有手艺情怀的公司,供应稳固高质的云效劳。七牛恰好相符他们的期许。

周全拥抱云的第一步就是将历史数据迁徙到云端。这是大工程,但关于”成熟产物运用云效劳“来讲,这是极为症结的效劳步骤。起首,在迁徙历程当中能够碰到以下题目:

  1. 硬盘迁徙历程当中,收集传输中的数据失足。
  2. 传输历程当中的速度题目。拿陌陌举例,假如采纳经常使用的传输方法,全部迁徙历程要耗时半年,而且会严重影响线上的营业。
  3. 硬盘寄送历程以及运用历程当中的磁盘破坏。
  4. 存储数据文件对数据库的兼并。假如根据传统的数据库写入体式格局,须要多少天,会给客户数据库以及云效劳的数据库带来不必要的庞大压力。

针对这些题目,一个斟酌周全的迁徙系统就显得尤为重要:

  1. 针对客户的营业数据模型,定制数据花样,举行存储数据的导入。
  2. 数据库构造须要有强扩展性,能够完成瞬时兼并。
  3. 迁徙系统充足斟酌不可控因素,比方硬盘破坏,断电等状况。

至此,七牛已成为陌陌异常好的协作伙伴,支撑了他们近两亿用户的数据存储,接见加快与图片处置惩罚。云效劳协助小伙伴陌陌处理了后续营业增进范围所带来的手艺压力,让他们能够越发关注自身的中心营业。

人人或许会说国内的云生态尚不成熟,然则阅历了几年浸礼,踩过无数的坑后,现在的国内云效劳供应商愈来愈勤奋,专业,我们也看到愈来愈多成熟企业和新创公司一样,挑选信托专业的第三方云效劳,因而能够更专注自有营业。2015,能够预感,云将越发出色。


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
author-avatar
花自飘零009玲玲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有