摩拜 范同祥 - 摩拜国际化架构演进_部分1

出怀山

2017/12/18 发布于 技术 分类

共享单车高速增长这一年,伴随着业务从单一形态到综合出行服务,市场从国内到海外,摩拜基础架构经历了剧烈的演变。从早期的Monolith、单机房,到后来的Microservices、容器化、单元化,摩拜的系统已部署在全球十多个机房。自建的DevOps工具链,支撑着数百人的技术团队高速运转。

文字内容
1. 摩拜国际化架构演进   Globalization  of  Smart  Bike-sharing  Systems   范同祥   摩拜首席架构师  
3. 范同祥(Frank)   Mobike  Chief  Architect   清华大学   软件工程硕士   海致网络   微办公、BDP、SaaS   摩拜科技   智能共享单车、IoT   2004   2005   2008   2013   2015   2014   2016   2017   IBM中国研究院   融合通信、VoIP   IBM/阿里系创业团队   智慧城市、汽配电商   IBM中国开发中心   Lotus  Software,  SmartCloud   人人行科技   借贷宝,FinTech  
4. •  Growth  and  Challenges   •  Globalization  Guidelines   •  Multiple  Data  Center   •  Data  Storage  &  Replication   •  Microservices  Stack   •  Containerization  and  Orchestration   •  DevOps  Toolchain  and  CI/CD  Pipelines  
5. 骑行改变城市   + Bus,Metro  and  now  Mobike,  are  the  three   key  transportation  systems  of  the  city   北京   Beijing   Bus Subway Mobike 3.5 Taxi 1.6 上海   Shanghai   深圳   Shenzhen   11.1 Subway 9.3 Bus 10.0 Bus 7.0 Taxi 2.7 Mobike 2.5 Subway 3.5 Mobike 1.6 Taxi 1.1 成都   Chengdu   6.7 Bus 4.7 Mobike 2.6 Subway 1.5 Taxi 1.2
6. 国际化进程   200  cities  globally     in  20  months     200  million       registered  users     30  million    orders  daily     >7  million     smart  Mobikes   in  mobile  network     >30TB  of  data   generated  daily    
7. 挑战与架构目标     •  系统复杂度不断地提升   •  开发迭代频率越来越快   •  产品质量要求越来越高   •  管理成本和费用成倍增加  
8. •  Growth  and  Challenges   •  Globalization  Guidelines   •  Multiple  Data  Center   •  Data  Storage  &  Replication   •  Microservices  Stack   •  Service  Containerization  and  Orchestration   •  DevOps  Toolchain  and  CI/CD  Pipelines  
9. 国际化需求   区域化运营   架构统一、策略灵活   安全     企业管理系统   IT/OA/BPM   数据合规   GDPR   全球化支付   多渠道、多币种   用户体验   统一账号、低延迟   开城效率   一周一城   后台10分钟配置   设备接入   差异化IoT通道   开发运维体验   多云统一部署   大数据平台   数据仓库、B I 
10. GDPR  -  General  Data  Protection  Regulation   •  Released  in  April  2016,  enforce  Since  May  25,  2018   •  It’s  GLOBAL  in  reach!  ALL  organizations  processing  information  about   European  data  subjects  must  comply.   •  Fines  of  up  to  4%  of  annual  revenue  or  20  millions  €.   •  GDPR  includes  11  Chapter  with  99  Article  VS    网络安全法  7章,79条.   •  No  Technical  measures,  but  requirement.   •  GDPR  FAQ  
11. 技术路线与原则   •  立足当下:快、糙、猛   •  着眼未来:寻求系统性解决方案   •  目标驱动:多、快、好、省   •  自下而上:苦练基本功   •  追求卓越:工程师文化   业务增长! Growth! 研发流水线! 运营效率! DevOps! Effectiveness   云原生应用! Cloud Native   单元化部署! Multi-DC   用户体验! UX   物联网技术! 微服务架构! 大数据平台! IoT   Microservices   Big Data   商业智能! AI & B I 
12. •  Growth  and  Challenges   •  Globalization  Guidelines   •  Multiple  Data  Center   •  Data  Storage  &  Replication   •  Microservices  Stack   •  Containerization  and  Orchestration   •  DevOps  Toolchain  and  CI/CD  Pipelines  
13. 部署架构演化   业务需求:   •  全球统一账号   •  系统延迟可接受   •  快速开城   •  区域化运营   单机房   代理加速   多云   混合部署   架构中立   灵活应变   多机房   异地多活   最小业务单元独立部署   单元内调用链封闭   多集群   同城双活   容器调度、服务编排   蓝绿部署、读写分离   CDN、Nginx方向代理   物联网接入层链路优化   技术优先级:   1.  就近接入、加速   2.  系统解耦、内聚   3.  异地多活、容灾  
14. 网络链路优化   多伦多   硅谷   国内:40ms   东南亚:70ms   海外:  120+ms   120ms   法兰克福   200ms   220ms   QCloud  VPC   150ms   北京   首尔   成都   40ms   上海   广州   12ms   香港   30ms   新加坡   stripe! twilio! vodafone!
15. 多级群、同城双活   $QGURLGL26+:H&KDW 同城双可用区   接入层路由、流量调度   集群内部署全部微服务   数据访问层   DBProxy   黑石物理机+虚拟云主机   蓝绿部署   ۹ՂӞ‫܄‬ /RDG%DODQFHU &OXVWHUV 1JQL[5RXWHU 6WDWHOHVV 6HUYLFHV )URQW(QG$3,V ) %XVLQHVV 6FKHGXOHG /RJLF 7DVNV 3HUVLVWHQFH%DVLF/RJLF ۹Ղԫ‫܄‬ /RDG%DODQFHU &OXVWHUV 1JQL[5RXWHU )URQW(QG$3,V ) %XVLQHVV 6FKHGXOHG /RJLF 7DVNV 3HUVLVWHQFH%DVLF/RJLF 'DWDEDVH 93& MySQL0RQJR'%5HGLV 0DVWHU 6\QF MySQL0RQJR'%5HGLV 6ODYH 'HY2SV7RROFKDLQ 'QV3RG $3,5RXWLQJ )DLORYHU 6HUYLFH'LVFRYHU\ Monitoring $XWRPDWLRQ 6&0$VVHW5HSRV /RJ$QDO\VLV
16. 多机房、异地多活   •  单元化部署   •  物理距离决定难度   •  单一维度拆分   •  单元化改造   •  数据特点决定   ೲአಁ‫ړ‬ၞ ള‫੶ف‬ ଫአ Ӿᳵկ̵ᖨਂ හഝପ ‫زܔ‬Ӟ ۹ᗦහഝӾஞ ‫᧣ྍݶ‬አ ୑ྍၾ௳ CDN ೲአಁ‫ړ‬ၞ ള‫੶ف‬ ଫአ Ӿᳵկ̵ᖨਂ හഝପ ‫زܔ‬ԫ ‫᧣ྍݶ‬አ ୑ྍၾ௳ ୩Ӿஞׁᩢ හഝ॔‫ګ‬ ۹ՂහഝӾஞ ೲአಁ‫ړ‬ၞ ള‫੶ف‬ ଫአ Ӿᳵկ̵ᖨਂ හഝପ ‫زܔ‬ӣ ཾၖහഝӾஞ
17. 业务数据特点   Global  DB   •  用户归属地信息   •  用户骑行状态   •  账户余额   多活DB   •  骑行记录   •  车辆位置   •  钱包明细   非多活DB   •  车辆运维管理  
18. •  Growth  and  Challenges   •  Globalization  Guidelines   •  Multiple  Data  Center   •  Data  Storage  &  Replication   •  Microservices  Stack   •  Containerization  and  Orchestration   •  DevOps  Toolchain  and  CI/CD  Pipelines  
19. 摩拜数据库生态体系  
20. DRC架构   •  DRC:(增量)数据复制中心   •  PaaS化部署   •  多源多目的端支持   •  异构数据库间同步   •  脚本化配置   •  容灾同步   •  多活双向同步   •  跨国数据中心同步   •  离线分析同步  
21. DRC应用场景  
22. •  Growth  and  Challenges   •  Globalization  Guidelines   •  Multiple  Data  Center   •  Data  Storage  &  Replication   •  Microservices  Stack   •  Containerization  and  Orchestration   •  DevOps  Toolchain  and  CI/CD  Pipelines  
23. Spring  Cloud   •  A  complete  set  of  tools  for  building  distributed   systemsCloud  native  application  framework   •  Battle-tested  Netflix  OSS   •  Easy  for  customization   •  Easy  to  migrate  from  Spring  3.0   •  Revolutionary  Spring  Boot   •  Java  developer-friendly  
24. Netflix  OSS  in  Production   •  100s  of  microservices   •  1000s  of  daily  production  changes   •  10,000s  of  instances   •  100,000s  of  customer  interactions  per   minute   •  1,000,000s  of  customers   •  1,000,000,000s  of  metrics   •  10,000,000,000  hours  of  streamed   •  10s  of  operations  engineers   Hystrix! Circuit Breaker   Turbine! Stream Aggregator   Eureka! Service Registry   Ribbon! Load Balancer   Zuul! Feign! Edge Service   HTTP Communication  
25. API  Gateway  -  Zuul   Zone A! •  Authentication   •  Rate-Limiting   •  Logging   •  Caching   •  Transformation   •  Web  Application  Firewall   •  Auti-Fraud   Consu !l Web! Browser! Edge Proxy! Load! Balancer! Service! Zone B! Zone C!