前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >摩拜的六脉神剑:每日 2500 万次出行服务背后的技术支撑

摩拜的六脉神剑:每日 2500 万次出行服务背后的技术支撑

原创
作者头像
腾讯云开发者社区
修改2017-10-18 16:34:47
5.3K0
修改2017-10-18 16:34:47
举报

摩拜单车自去年推向市场运营以来,凭着过硬的技术实力和良好的骑行体验,一直引领着全球智能共享单车行业的发展。仅仅用了一年多的时间,摩拜就发展为服务覆盖中国、新加坡、英国等全球100个城市、投放车辆超过500万、日均骑行量2500万的国际化创新品牌。

在6月22日腾讯“云+未来”峰会现场,摩拜单车首席架构师范同祥对外揭秘了这家共享单车行业领导者背后的技术支撑实力。范同祥指出,摩拜今年依然保持高速增长,现在每日最高出行量已经稳稳保持在 2500 万上,摩拜的高速增长主要源自于产品的创新和摩拜车辆的品质,但是如果在高速增长过程中没有足够强大的技术系统作为支撑,摩拜也是很难走到今天的。

在分享中,他将摩拜高速发展的技术支撑总结为「六脉神剑」:

  • 物联网技术
  • 云计算平台
  • 微服务架构
  • DevOps 流水线
  • 腾讯专家团
  • 摩拜技术文化

物联网技术

摩拜在物联网技术领域很早就进行了布局。摩拜从第一辆投产的车开始就投放了智能锁,智能锁里面集成了像 GPS 定位、GSM 通信、蓝牙和窄带技术。直到今年的三四月份,友商们才开始量产他们的智能锁。

摩拜在物联网领域有近一百项的专利或专利申请。这些物联网的技术反过来帮助摩拜后台的系统高速迭代快速升级起到了非常重要的作用。仅以 OTA 技术来说,摩拜数百万辆车的嵌入式系统固件升级,只需要几个小时的时间,一夜之间就完成了。

云计算平台

摩拜在高速发展中,腾讯云功不可没。

范同祥加入摩拜时,摩拜的技术团队还只有三五十人,后台研发的只有十几个人。十几个人面对高速增长的系统,要解决这么多问题,怎么办?

摩拜非常明智地决定快速上云,但是很可惜的是,早期的云是海外的某知名厂商,当时对摩拜的重视程度不够高。后来选择了腾讯云。在现场,范同祥分享了几个摩拜迁移到腾讯云上的几个故事。

系统迁移不到一个月

我是去年年底加入的,我们在春节之前就迁完了,前后一个月不到。还好当时数据量不大,只有几个T,在腾讯专家的协助下,我们提前把数据从原来的云平台导过去,再进行差量同步,切换当晚,进行数据比对和回归测试,确认没有问题。一个通宵,把所有的系统就这么切过来了,速度非常快。

成功度过 DDOS 攻击

摩拜在今年 4 月 22 号遭受了史上最大一次360G的 DDoS 攻击 。那天还挺狼狈的,因为是周年庆,也不知道哪位神仙在背后放小脚,让我们系统不太稳定。腾讯云团队迅速响应,启动了北京、广州、上海多地机房,迅速将DDoS防控能力提升到500G,成功抵御了这一拨疯狂的攻击。自此以后,摩拜再也没有遭受过超过一百G的 DDoS 攻击。

上亿条短信发送

今年开春以来,摩拜的友商们很快发动了免费战,摩拜也要响应,有时候一天发送的营销短信高达上亿条。一亿条短信在一天甚至几个小时之内发送出去,摩拜的技术小伙伴是没有什么经验的,这么艰巨的任务最后也是交给了腾讯云的短信团队。 摩拜接入腾讯云之后,不仅仅是用了腾讯的计算、存储、网络等基础设施,还得到了腾讯非常多的技术团队的支持,帮助摩拜高速成长。

微服务架构

正是因为有腾讯云的助力,摩拜自己才有时间、有精力腾出来对系统做一些改造。范同祥加入摩拜之后,率领团队迅速完成了以下几件事:

  • 快速升级代码,将技术栈切换到 Netflix 开源的 Spring Cloud 的体系。
  • 快速实现了微信支付通道的接入,保证后台和技术通道的高可用。
  • 快速升级系统架构,按业务进行拆分,独立部署

Netflix 开源技术栈(ribbon、hystrix等)较好的实现了分布式系统的熔断、限流、回退、全链路监控等机制。其中比较经典的应用场景就是微信支付。微信现在对于重要商户是有两个支付通道的,当有一个通道发生问题的时候,基于这个框架可以自动切换到另一个支付通道,这个过程是无缝的。

在架构升级过程中,摩拜曾担心给体验带来较大的冲击,但是腾讯云技术团队及时给予了非常强有力的理论支撑,指出了现存系统的问题。后来,摩拜快速对系统按业务进行垂直拆分,把不同的接口进行归类,独立的部署,使得他们相互不干扰。相应的数据库也分拆成了不同的实例和集群。每一类不同的业务,像关于用户的、车辆的、支付的,归类到不同的子系统当中,连接不同数据库的实例。一开始只能采用最简单粗暴的方式,先拆分再扩容,如果用传统方法,如果不是在云上,我相信这个过程会非常痛苦,管理维护成本非常高。而我们这点做得比较好,因为我们有腾讯云的团队支撑,所以数据库的拆分扩容过程基本上没有操什么心,我们只是把我们的系统业务代码做一些简单的配置变更,就快速实现了系统扩容升级。

DevOps 流水线

在系统架构的高速演进的同时,摩拜在开发工具、运维体系的建设上是不遗余力的。

范同祥 2013 年离开 IBM后,一直在互联网创业公司工作,他发现有一个共同特点:国内的创业公司,大多数业务在高速增长的时候,都会演变成人肉大战的模式。人不够,需求太多了,用户太火爆了,怎么办?老板就使劲招人。

因此,他在加入摩拜以后就不遗余力去推动公司建设DevOps流水线,推动研发效率的提升。现在,摩拜有机的整合了常见的的开源工具(包括GitLab CI、Jenkins、Ansible、Docker等),严格把控研发过程。

摩拜与腾讯云的集成是非常紧密的。**摩拜的运维团队利用腾讯云提供的丰富 SDK 和 API,会自动通过腾讯云的 API 导入机器,对后台服务器进行自动化管理。

机器导入过来以后,摩拜自己定义了一些策略和模板,统一管理开发测试环境和生产环境。国内的大多数互联网公司,都只能维护几个固定的开发测试环境。摩拜做到了按需创建,谁只要有需求,快速在我们平台上一键创建一个完全独立的环境。

怎么做到?摩拜的后台深度集成了腾讯云,简单配置一下,需要多大规模自己定义,最小三台机器组建一个集群。一个按钮点下去,通过调用腾讯云和DnsPod的API,自动完成虚拟机、数据库、域名的初始化过程,10分钟之内即可创建一套独立的环境。

腾讯专家团

在摩拜发展过程中,不只是腾讯云的专家技术团队,还有来自于腾讯的 TEG、微信各个领域腾讯公司的技术专家帮摩拜解决各种技术难题。

比如区域化部署。刚才提到两地双机房的方式不适合于摩拜的长期发展,摩拜现在在做全球化的布局,刚刚融资六亿美金的用途就是做全球化,全球化以后分散在不同机房,延迟是比较大的,平均延迟业内是 230 毫秒左右,腾讯现在做到 120 毫秒以下。摩拜第一个海外城市新加坡走的是代理模式,核心服务还是在北京机房,通过腾讯新加坡的机房,走腾讯的内网专线,路由到北京机房。

摩拜希望未来用户能够就近接入,欧洲的用户从欧洲的机房接入,美国的用户从美国的机房接入,对后台业务系统就会有非常大的挑战。

摩拜还借鉴参考了当时 QQ、微信的经验,腾讯给摩拜提供了一套区域化部署解决方案。未来摩拜的系统,将部署在国内的四大机房以及海外多地的机房。如果一个机房宕机,同时还有其他机房来提供服务。不论是哪里的用户,接进来几乎感觉不到什么延迟,系统可用性也会大大提高。

摩拜技术文化

最后,范同祥指出了摩拜的独特技术文化和执行力的影响。摩拜的执行力非常迅速,发现重大问题,一个晚上把所有代码改了,第二天就上线。这样的例子非常非常的多。

另外,摩拜的技术团队虽然比较年轻,但是心态非常开放,能够容纳各种各样的新鲜事物,只要你的见解是合理的,团队都毫无保留的采纳。摩拜这一点做得非常好。只要你设计合理,对公司是有利的,我们马上执行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 物联网技术
  • 云计算平台
    • 系统迁移不到一个月
      • 成功度过 DDOS 攻击
        • 上亿条短信发送
        • 微服务架构
        • DevOps 流水线
        • 腾讯专家团
        • 摩拜技术文化
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档