返回 登录
0

【SDCC 2016】蘑菇街、华为、阿里巴巴、58到家、同程旅游、链家网、京东的架构变迁与技术演进

【CSDN现场报道】2016年11月18日-20日,由CSDN重磅打造的年终技术盛会 —— “2016中国软件开发者大会”(Software Developer Conference China 2016,简称SDCC 2016)在北京京都信苑饭店隆重举行。本届大会云集了100多位国内外顶尖专家和技术大牛,共设新趋势和新实践2大主题会场,14个技术专题。面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,助力企业的技术升级和改造、全面提升技术人员的综合实力。

图片描述

今年下午的SDCC架构演进专场汇聚了来自蘑菇街、华为、阿里巴巴、58到家、同程旅游、链家网、京东的资深技术专家,大家继续围绕着架构演进主题各自分享了其团队的探索实践。下午的专场在13:30开始,但参会者在午休后早早的来到了会场等待架构演进专场的开始。下午专场继续由当当网架构部总监史海峰主持,史海峰首先就下午参会的主题及讲师,进行了扼要介绍并向所有CSDN的热心观众再次表示欢迎。

菇街平台技术架构师卢鹏程:蘑菇街监控系统架构演进

蘑菇街平台技术架构师卢鹏程分享了《蘑菇街监控系统架构演进》的主题演讲。通过蘑菇街平台三个不同的版本,讲解了蘑菇街监控系统从无到有的历程,分享各阶段所遇到的问题及解决方案。阐述了目前性能强劲的sentry的架构,及相关技术点,展现sentry丰富的功能,说明怎样一步步的消除用户障碍,展望后续技术及业务方向。为达成高可用、易部署、易维护的目标,蘑菇街选择了去中心的分布式架构,无依赖、存角色、分场景的架构特点。大家通过卢鹏程的分享,了解到现有蘑菇街监控系统的架构、功能和能力、计中所用到的各种技术及组件,以及获取高可用、高性能分布式系统的设计经验。

架构V3.0

版本要求

  • 全新架构。第一个完善版本。
  • 可用(查询、稳定、)
  • 兼容V2 API
  • 优化效率,提升4倍写入能力
  • 具备快速缩扩容能力

选型

  • 造轮子,自研TimeDB
  • Scylladb
  • 去Grafana,重写Sentry-web

架构特点

  • 去中心:为达成高可用、易部署、易维护的目标,我们选择了去中心的分布式架构,采用gossip + SWIM来同步配置、做集群管理。
  • 存角色:为增强核心集群稳定性、提供大促时快速缩扩容能力,我们把核心系统中的部分功能,如大查询、热查询,分离到外围系统中。同一产品,不同角色。
  • 无依赖:这里指的是核心系统不强依赖任何第三方系统,降低外界对系统稳定性的干扰,确保用户随时都能获取自己业务的状态数据。
  • 分场景:这个算是业务架构了,是我们正在做的事情。目标是用简明的场景,代替目前在数据收集、展示两端繁琐的配置。让用户更自然准确的使用监控系统,降低学习与交流成本。

“经过了这一版本,我们可以应对大促、应对特定大查询和辅助系统维护,从此蘑菇鸡再也不用担心扩容和增容问题。”卢鹏程说。

华为开源软件能力中心资深架构师马全一:ContainerOps – Empowering DevOps With Container

华为开源软件能力中心资深架构师马全一发表了《ContainerOps–Empowering DevOps With Container》的主题演讲。作为曾主导基于容器的下一代DevOps平台ContainerOps的架构、研发和产品化,中国Linux容器技术和Docker开源技术最早的推动者,马全一在下午的分享中介绍了ContainerOps这个基于DevOps Orchestration概念的DevOps平台。在华为ContainerOps架构中,所有的工作都在容器中,工作流定义,所有的组件运行在kubernetes上,都是以容器的方式来做。马全一不仅阐述了华为目前对DevOps理念的理解,更讲解了华为这个开源产品里对DevOps的理解,以及产品的特性和架构。“我们会把这个DevOps当作服务开源到社区,现在已经跟一些合作伙伴在测试,如果你对这个测试感兴趣的话,可以联络我,我们可以出一些人员和人力帮你梳理目前已有的DevOps的流程。”马全一最后说。与会者通过了解业界最新的DevOps理念,学习通过DevOps Orchestration梳理,DevOps流程,提高DevOps的工作效率。

阿里巴巴应用运维平台负责人毛茂德(如柏):阿里基础运维平台及应用运维平台架构演进

阿里巴巴应用运维平台负责人毛茂德(如柏),分享了《阿里基础运维平台及应用运维平台架构演进》的主题演讲。从基础运维和应用运维两方面,介绍支撑阿里巴巴全集团服务器集群管理的基础运维平台StarAgent的架构演进,以及应用运维平台Normandy的架构演进。StarAgent包含命令通道、插件系统两大核心功能,使用场景贯穿服务器的整个生命周期、应用运维、日志服务、监控、数据采集和配置管理。“StarAgent通过默认的蜻蜓插件,7000客户端200MB文件下载平均耗时仅10s,80%的阿里集团文件下发系统使用,稳定性从99.9%到99.9999%,下载次数从3万/周到7600万/周。”最后,毛茂德介绍了应用运维平台Normandy,它的功能涵盖基础设施即代码、CMDB、部署发布、Docker支持功能。

为了打造行业级的基础运维解决方案以及数据化、智能化运维解决方案,毛茂德针对运维平台架构演进。

StarAgent核心功能

命令通道

  • 同步执行
  • 异步执行
  • 查询

插件系统

  • 静态:脚本、命令
  • 动态:常驻进程

StarAgent自运维

  • 中央管控 / 机房管控 / agent 宕机自恢复
  • agent / 插件 自动升级,多OS支持
  • IP段自动关联
  • 完善的错误码体系,数据化运维
  • 对外输出:一键部署、最小化部署

StarAgent默认插件

  • 蜻蜓 - P2P文件分发
  • AOL - 集中配置管理

58到家工程研发部高级架构师叶忠兴:三分归一统:移动端开发技术演进之ReactNative崛起

58到家工程研发部高级架构师叶忠兴,分享了《三分归一统:移动端开发技术演进之ReactNative崛起》的主题演讲。叶忠兴主导了58到家ReactNative探索与实践,在主要App中引入了ReactNative,并持续完善ReactNative生态改善。自从智能移动设备出现,移动设备上多端开发就一直是开发者面临的最大的困扰。移动在开发、测试、发布、修复方面遇到许多问题,React Native的开发发布、渲染过程、H5渲染过程三个方面解决这些问题,现在是需要JS写一份代码即可,如果遇到Bug直接修改JS代码即可。叶忠兴讲解了ReactNative在58到家的可用性、体积、一致性、数量、分工协作、版本升级、检测、React控件、Native控件等具体实践。“虽然React Native还不够完美,但它使得我们的开发工作量降低40%,测试工作量降低35%,实现了随时release和热修复”。叶忠兴总结说。

同程旅游首席架构师王晓波:同程缓存系统的演进

同程旅游首席架构师王晓波,分享了《同程缓存系统的演进》的主题演讲。缓存在今天在线系统架构中是核心的位子,缓存的设计好坏直接影响系统整体的性能的高低。但在很多情况下缓存是被滥用的,这个基本是通病,同程在缓存的使用上也经历一条从滥用到治理的路。“开源方案很美但我们用起来就不美了,单一个方案解决不了全部的问题”,王晓波在演讲中介绍同程自研的缓存系统(phoenix)对缓存使用的治理,对数千个Redis集群的统一管理和缓存的平滑扩容。通过对缓存平台的管理与监控,大并发缓存系统的架构设计,同程实现了缓存整体的管制、运维操作、整体监控、自扩容自收缩的能力,现在我们的系统晚上不需要值班,基本实现了智能化运维。

初步改善部署

  • 开启主从+keepalived模式
  • 开启数据落盘

问题:

  • 主从切换的问题
  • keepalived的问题
  • 数据落盘的问题

总结:运维快发疯,系统随时挂

设计缓存平台

  • 在应用中能根据场景拆分(应用透明)
  • 能从客户端调用开始全面监控
  • 能防止缓存的崩塌
  • 动态扩容缩容

缓存服务的架构设计

  • 多个小集群+单节点
  • 以场景划分集群
  • 实时平衡调度数据
  • 动态扩容缩容

链家网平台化架构师吕毅:链家网大数据平台架构变迁

链家网平台化架构师吕毅,分享了《链家网大数据平台架构变迁》的主题演讲。链家网大数据部门已经成立了一年多,之前的一年间从无到有,支持好了公司与集团各项数据报表需求。面对公司业务线的发展、运营体系猛增的数据需求,大数据平台的构建解决了这一问题,将原有的人工开发定制报表模式改造为数据全自助平台化模式。链家属于非物联网公司,对运营需求的压力很大。链家网数据相关的工作涵盖科学、应用、产品、数据四大方面,整个数据架构形成了业务的闭环。平台层包括数据服务,Data analysis、Adhoc query、Data Api;工具链,Data engines、ETL system、Management control;集群,Data Security、Resource isolation、Calculate ability。通过一系列的架构演进,链家数据部门从提供数据报表的架构,完成了大数据治理需求的转变。

京东资深架构师张成远:京东分布式数据库系统演进之路

京东资深架构师张成远,分享了《京东分布式数据库系统演进之路》的主题演讲。张成远负责京东分布式数据库系统的架构与研发工作,主导了京东分布式数据库系统在公司的落地及大规模推广。张成远从发展历程、实践经验、困难与挑战三方面,介绍京东分布式数据库系统的发展历程,以及在实际推广过程中遇到的一些挑战以及解决方案。如何保证服务的高可用数据的高可靠,以及如何在线自动化扩容,系统在对应618以及双11时的实战经验以及实战背后,通过性能与稳定、高可用/高可靠方案,演变成了如今的精细监控、路由管理的架构机制,解决了数据库系统从“活下来”到“活得更好”的改变。

实践经验

  • 避免跨库的SQL
  • 避免跨库的事务
  • 特殊业务特殊对待
  • 系统尽量独享
  • 使用容器提高资源利用率

小结

  • 配置文件中心化管理
  • 自动化迁移完成扩容
  • 要有良好的自我保护功能
  • 生产环境监控非常关键
  • 要有高可用/高可靠的解决方案
  • 分布式事务(本质上是大事务)容易引起大规模死锁
  • 基于MySQL的解决方案很难保证严格的分布式事务语义

更多精彩内容,请关注图文直播专题:SDCC 2016中国软件开发者大会,微博:@CSDN研发频道,订阅CSDN官方微信公众号(ID:CSDNnews),即时获取大会动态。

评论