涂鸦科技:支撑从零暴增数十亿数据的背后,竟无专职运维!

直播视频

(点击图片查看视频)

幻灯下载地址: https://oss.aliyuncs.com/yqfiles/76d3bb80d4a9da17ababada8f56ecd8b.pdf


3月23日在线实时分享顺利结束,本次由涂鸦科技技术总监柯都敏分享了涂鸦科技云上架构设计和借助阿里云实现轻运维高可用性监控的实战经验,同时也介绍了网络安全、权限控制等特定场景下如何利用阿里云产品解决特定的问题题。本次视频直播的整理文章、视频、幻灯片整理完毕,如下内容。

架构演变历程


初创公司的团队刚起步时一般规模都不是很大,并且成员能力各异,而且为了公司的长远发展,初始的架构需要设计的尽可能优秀。因此在设计时需要考虑到架构性能、扩展、代码安全、测试等等问题。

图一 第一代轻架构


在涂鸦科技设计第一代架构时,业务量并不是很大。在设计之初,对整个架构进行了简单的拆分,基础服务层内存放的是公共的资源,为以后的其他业务作支撑;为了保障网络接口的安全性,同时为了缩短开发周期,在架构上封装了Atop网关层,在网关层内完成接口配置、接口的访问控制、数据转换、统一日志等操作。开发人员只需要将精力集中于业务层开发,业务层向上提供服务。网关层通过配置化来调用业务接口。当接受到外部请求时,通过网关层进行协议转换、数据转换,再通过配置中心来对业务接口进行调度,业务层返回的数据再通过网关层转换,返回给原请求者。第一代架构仅仅使用一个库和一台主机,并且该架构是分布式架构,但在最初时整合到一个工程使用本地调用。

第一代架构实现了前后端的完全分离,使得前端的效率大大提升;同时业务通过网关暴露,后端的效率也随着提升;此外公共的技术模型的统一封装,降低了上手成本;在安全风险方面,通过网关的统一授权和用户模型特征验证,降低了安全风险;接口配置化部署实现上午提需求,下午就可以联调,满足产品的要求。

图二 第二代平行架构


第一代轻架构几乎没有做性能评估,也没有对数据库做分表。随着业务量的增加,数据库压力逐渐增大。第二代架构中,同样进行了拆分分层,,相对于第一代架构,网关层几乎不存在改动,实现风险可控。中间层进行模块化拆分,服务化治理方面采用阿里的Dubbo,同时也进行了一些对应的改进,使其更加适应用于网关层,通过配置中心动态配置生效。同时使用Dubbo monitor对服务进行监控,同时自行开发了服务化治理的调用依赖等。目前,涂鸦科技内部服务已经有十几种之多。数据库方面,通过涂鸦科技自行开发数据库中间件,实现路由、分库分表、主从备份等操作。

通过对架构的优化,第二代架构对业务有了更好的支撑。数据方面,目前可以处理日峰值30T数据上传;可以运行几十亿用户核心数据;支持实时日志搜索和分析报警以及支持离线和实时数据处理。模块化方面,对业务服务模块化拆分,做到可独立发布部署;同时服务治理工具可分析服务调用情况按需扩容;通过性能和可用性监控,及时发现技术瓶颈,同时支持服务热发布。网关方面,通过网关隔离内外数据;同时采用网关服务组装业务场景,使得模块颗粒更细化;除此之外,网关提供了多种安全机制支持多业务场景;网关可以进行平行扩展,并且没有性能瓶颈;网关作为统一的数据出入口,可以方便进行日志分析跟踪。中间件方面,通过自主开发数据组件支持分库分表、主从读写等操作;同时对Mq等中间服务封装,便于架构选型;此外架构中尽量多的使用阿里云来减少维护成本。同时通过配置中心,满足了网关接口的实时更新的需求。

涂鸦在云上


图三 涂鸦科技云上架构


上图是涂鸦科技在云上的架构场景。从图上可看,该架构几乎采用了所有的阿里云产品。前端通过SLB将流量引入,根据业务不同对SLB进行拆分,根据业务流量不同,调用不同的SLB,尽可能使得不同的业务各自可进行扩容。同时,流量入口可动态配置,当一个SLB无法承受流量压力时,后续的流量会转移到其他SLB上,做到动态扩展。通过ECS搭建的网关集群和业务集群可实现平行扩展和热扩展。在整个架构的高可用方面,流量入口通过SLB实现高可用;网关层通过对多组机器的SLB监控和自主监控,当有业务发布时,通过SLB对脚本的监控,对一些机器做下线操作,当服务上线再将流量导通到这些机器上,做到流量热迁移;业务层通过服务模块化,当业务量压力增加时,可以采用动态加机做到高可用性。数据库容灾备份方面,核心数据库采用主从配置,无需将大流量的数据放在主库上,主库上主要处理写操作,备份主要采用阿里云的RDS的默认定时备份机制,同时在数据量方面做了大量的异步处理,通过Cache和队列将数据进行异步化处理。

图四 云产品使用场景


上图是阿里云产品在涂鸦科技的一个使用场景。由于业务数据增加较快,单RDS接近瓶颈,同时IOPS高数据库IO高,峰值突然出现服务慢,必须进行数据迁移。当时的选择可以使自行开发进行迁移,但时间成本较高,至少需要一个人一周才能完成。当时恰逢阿里云数据迁移服务DTS对外公测,如果仅对数据进行读写操作时,风险很小,通过DTS对数据的迁移,增加了数据存储空间,同时IOPS也急速下降,平稳度过了风险。

图五 云产品使用经验


涂鸦科技通过使用阿里云服务,有很多的收获经验。首先在RAM权限,从最初使用阿里云时的五个具有全部权限的超级Key到现在不同的客户端使用不同的Key,隐藏超级Key,采用RAM自定义权限细化到每个用户,通过对业务拆分减少了安全风险。其次在云监控技巧,通过对ECS、RDS、OCS等常规监控,如何出现报警时,可以做到及时的修改。通过自定义监控服务的存活情况,由于自定义监控的信息量有限,后期又开发了自主监控,监控信息内加上日志分析出来的链接地址,如果有报警情况出现时,可用过该链接地址准确找到问题所在。通过SLB进行内部服务管理,首先SLB内网免费使用,十分灵活。前端Nodejs服务器调用后端API时,通过SLB搭建内网,避免内网服务器更换、下线时带来的不可用性。此外,还通过SLB管理ZooKeeper集群,无需对代码进行变更,避免了风险。OSS方面,通过OSS的图片服务降低了成本,还可以通过OSS管理内部的运维小工具,通过OSS的Python的Client自主化运维一些服务器。

经验分享


图六 基于ECS安全组的权限控制


涂鸦科技不仅在架构中使用阿里云服务,同时在很多的项目中也使用了阿里云服务。例如基于ECS安全组的权限控制,在ECS安全组没有上市前,采用的是在每台机器上部署防火墙方式,在不同的服务器上部署的防火墙规则也不同,当需要修改防火墙时,需要上机处理,十分繁琐,通过ECS安全组,将相应的防火墙规则进行梳理,比如可以将所有的日志分析服务器添加到日志分析服务安全组内,十分灵活。另外安全组内可进行内网通信,阿里云自带的安全组和自定义的安全组之间也进行了打通。

图七 基于ECS API的主机管理和高可用监控


上图是基于ECS API的主机管理和高可用监控流程图,目前RAM权限还是比较广,很多服务还不支持。涂鸦科技基于ECS API自行开发一套工具。这套工具可以获取机器列表和信息(RAM权限),然后通过主机Tag管理给每台机器打上Tag,不同的开发人员只能接触与之对应的机器。通过Tag标记,可以使得主机按需管理,批量运维,同时还可以根据Tag类型做对应的可用性监控。

通过对所有数据的实时分析,利用Tag的标记来明确服务的类型,基于服务类型来调用分析结果。比如可以分析出网关在一定时间内的错误量,以及网络的响应时间等信息。如果错误量或响应时间超过一定的阀值,可以进行自动化报警,无需人工,开发人员通过报警提供的URL地址快速定位问题的所在。

相对于亚马逊,阿里云在网络访问时间、稳定性、使用成本、技术支持更有优势。

QA环节:

1、作为技术人员,可以分享下这几年的创业经验吗?

答:创业这一段时间感触颇大,在公司时更专注于做自己的事情,对其他知识了解不多,比较安分。创业时,不仅要着重提高自己的技术,同时还需要关注团队的发展,将整个链路连接起来,成长很大。

2、一个完美的架构应该经历哪些发展过程的?

答:个人认为没有最完美的架构,最适合业务的架构就是最好的,比如说刚开始处于一台机器上的架构,成本最低,对当时来说,就是最完美的架构。

3、图片处理方面是自行开发处理还是采用OSS的相应功能?

答:图片处理方面走过很多弯路,最初图片处理是自行开发,当数据量增加时,服务器的IO和内网速率等瓶颈逐渐暴露,当时将近有20多台服务器用于图片处理。后来通过OSS提供的内网图片处理服务,对图片处理服务做了改进,节省了近十台服务器,有效节省了成本。

4、目前你的团队内有多少运维人员?

答:目前团队中没有专职运维人员,运维是我自己在兼职做。

5、ODPS和EMR的区别?

答:从用户的角度来说,两者的区别是一个是开源的一个是闭源的。EMR在开源方面做得好一些,ODPS在闭源方面更加优秀。但从整体来看,ODPS会集成一些条件引擎、推荐引擎的产品,用户可以在ODPS实例上写MySQL,输入数据就可以达到想要的结果;EMR可将企业的Hadoop、Spark等大数据系统无缝的迁移。

关于分享者


柯都敏,涂鸦科技技术总监。近10年互联网从业经历,曾任职阿里巴巴,2014年9月加入涂鸦科技,5个月完成涂鸦科技第一二代技术架构,平稳支撑涂鸦一年从零到几十亿数据快速发展。

涂鸦科技,一家专业的智能硬件解决方案提供商,以云平台为核心、软硬件结合的方式提供智能生活服务,安全快速稳定地推进中国制造业转型升级,促进传统产业“互联网+”有效深入的融合,“中国制造”转型为“中国智造”。基于涂鸦智能的一站式硬件智能化解决方案,厂商只需要专注于自己最擅长的领域,最大化提升硬件品质,让产品更具竞争力,给用户更好的体验。目前涂鸦科技旗下拥有涂鸦智能硬件平台和自有软硬件产品。2015年获得了NEA千万美元A轮投资。



相关系列文章:

  • 第九期:《微博:一亿访问量背后的分钟级服务器扩容》
  • 第八期:《有货:六层混合云架构打造中国最潮生态圈》
  • 第七期:《美柚:最懂女性App背后的混合云架构与大数据服务》
  • 第五期:《千万级用户App小咖秀:服务端架构设计分享》
  • 第四期:《空格App亿元A轮融资背后:云上多场景技术架构实践与经验》
  • 第三期:《国内在线预订模式开创者驴妈妈旅游网:如何在混合云上搭建产品数据分析系统》
  • 第二期:《游族网络:如何运维千台以上游戏云服务器》
  • 第一期:《淘宝丁奇:如何解决影响MySQL使用的9大问题》
时间: 2024-08-30 08:38:52

涂鸦科技:支撑从零暴增数十亿数据的背后,竟无专职运维!的相关文章

74期:涂鸦科技A轮获千万美元,无专职运维!

云周刊 本周要点 查看更多 [直播回顾]涂鸦科技:A轮千万美元,无专职运维! 你听说过有家叫涂鸦科技的公司吗?它专门做智能硬件云,获得了A轮千万美元投资.来自本次分享主要介绍涂鸦科技云上架构设计和借助阿里云实现轻运维高可用性监控的实战经验,查看详情! [直播回顾]<千万级用户App小咖秀:服务端架构设计分享> 产品动态 查看更多 阿里云首家通过ISO20000国际认证,加速开拓海外市场 <2015物联网安全年报>:90%固件存在安全隐患 <2015移动安全病毒年报>:9

数据库优化:mysql数据库单机数十亿数据查询设计

   很久没写文章,是不是想着写点什么东西,分享下我的数据库设计思路,主要是针对单机数十亿及以上数据查询优化技巧. 如果只是简单的查询,没有频繁的写入操作,对查询速度不要求在毫秒级别,就不需要什么大型的数据库软件设计复杂的集群关系,也不需要分布式水平分割等太重的优化. 只需要用mysql在本机笔记本搭建一个普通的环境就行.    那么首先是针对mysql做一些普通常见的优化,比如分表分区.建索引.表字段设计以及mysql的配置优化,比如缓冲区大小等等,这类配置我找了一个文章,详细的可以看 htt

如何做到“恰好一次”地传递数十亿条消息

在分布式领域中存在着三种类型的消息投递语义,分别是:最多一次(at-most-once).至少一次(at-least-once)和恰好一次(exactly-once).本文作者介绍了一个利用Kafka和RocksDB来构建的"恰好一次"消息去重系统的实现原理. 对任何一个数据流水线的唯一要求就是不能丢失数据.数据通常可以被延迟或重新排序,但不能丢失. 为了满足这一要求,大多数的分布式系统都能够保证"至少一次"的投递消息技术.实现"至少一次"的投递

数十亿背后的红包硬实力比拼

当你紧握手机"摇一摇"抢红包时,目不转睛的不止是你自己.千里之外,还有一批"数据控"盯着电视屏幕,监测着红包发放的实时数据. 数十亿红包,如何扛住数千亿量级的数据洪流?这背后是微信与支付宝红包大战的硬实力比拼. 时间拨回到除夕夜"总决赛",当晚22时30分,微信"摇一摇"抢红包迎来最为紧张的时刻:在广州TIT创意园3号楼和腾大17楼,微信后台运营团队目不转晴地盯着电视屏幕,一边看着春晚实况,一边监控后台数据:央视春晚送红包互动

权威详解 | 阿里新一代实时计算引擎 Blink,每秒支持数十亿次计算

作者介绍 王峰,淘宝花名"莫问",2006年毕业后即加入阿里巴巴集团,长期从事搜索和大数据基础技术研发工作,目前在计算平台事业部,负责实时计算北京研发团队. 在阿里巴巴的11年工作期间,持续专注大数据计算与存储技术领域,基于Hadoop开源生态打造的数据基础设施一直服务于搜索.推荐等阿里核心电商业务场景,最近一年带领团队对Apache Flink进行了大量架构改进.功能完善和性能提升,打造出了阿里新一代实时计算引擎: Blink.目前数千台规模的Blink生产集群已经开始在线支持搜索.

维基解密再爆猛料:CIA利用漏洞入侵全球数十亿个人电子设备

美国当地时间本周二,维基解密称他们获取到了8761份来自美国中央情报局(下称CIA)的文件.这些文件透露了美国政府的强大黑客工具可以通过监控数十亿人的日常电子设备来窥探大家的隐私,电视.智能手机甚至杀毒软件都有可能受到CIA的黑客入侵.一旦入侵后,他们能够获取你的声音.图像和短信信息,甚至是经过加密软件处理的聊天内容. 据维基解密所说,这些数据代号为Vault 7,文件日期介于2013年和2016年之间,据说是已公布的相关CIA最大规模的机密文档,文件细数了CIA所用的网络入侵工具及其拥有的入侵

互联网公司如何使用数十亿人的个人数据?

被推送.被记录.被打标签.被索引.被简报.被盘问.被编号--所有这一切都是互联网公司的日常行为. 数据收集产业,这个靠着从社交媒体和移动设备上搜集信息片段获利的行业,影响每个人的生活,却不受任何有意义的监管审查.     上周,位于奥地利维也纳的文化倡导组织 "破解实验室( Cracked Labs)",发布了一份长篇报告,称"数字环境下,个人频繁被调查评估,被分类编组,排名排位,编号量化,包含/排除,并由此被区别对待." 该报告题为<日常生活中的大规模监视:

广西甘肃科博会签数十亿元大单

本报讯(记者古晓宇)昨天,组团参加本届科博会的广西.甘肃两省份分别在科博会上与相关企业签署了价值数十亿元的合作协议. 在科博会上,广西代表团重点发布了"千亿元产业重大科技攻关工程"需求的项目35个,其中有22个项目昨天与相关企业进行了集中签约,签约金额达38.67亿元. 甘肃代表团此次组织了102项科研成果和专利技术参加科博会,其中有8个项目进行了集中签约,签约金额达33.92亿元.

太平洋直购案吸金数十亿或成我国最大传销案

精彩生活公司的董事长唐庆南已被警方带走,前台一人在玩游戏.本报记者 李菁莹摄太平洋直购官方网向一名受害者出具的"商户诚信消费保证金"收据和会员卡.简鹏供图疯狂吸金数十亿 BMC是一场惊天骗局?太平洋直购案或成新中国成立以来最大传销案6月1日,江西精彩生活投资发展有限公司(以下简称"精彩生活公司")原董事长唐庆南,因涉嫌组织领导传销活动罪被逮捕.颇具戏剧性的是,唐庆南最初进入人们的视野,并非因为涉嫌传销案件,而是因为他近两年来在社会上取得的"伟大成就&quo