北京时间 2015 年 11 月 18 日,QCon 全球软件开发大会旧金山站中国技术开放日专场隆重开幕,来自阿里巴巴、腾讯、百度的多名技术专家对参会者分享了国内互联网公司的技术经验。本文将对这些演讲分别进行总结回顾。
阿里漆远:阿里巴巴的技术创新
蚂蚁金服副总裁兼首席数据科学家漆远在演讲中列举了一些阿里巴巴的一些关键技术和创新成果:
- 基础设施。9 个大型数据中心,异地多活架构。数据中心采用环保技术如太阳能、风能发电以及湖水制冷,冷却水经净化后回流供市政景观用水。
- 云计算。在 Sort Benchmark 2015 上打破四项世界纪录,比 Apache Spark 快 3 倍。
- 安全。一个安全的电商生态系统,保护在线交易、数据交换、云计算以及移动交互。阿里云至今已抵御 DDoS 攻击流量超过 540000GB,抵御峰值攻击流量大 453GB/s。
- 中间件。百亿级别 RPC 和消息处理能力。
- 数据分析。可以从十亿级属性和采样中学习。开放数据处理服务 ODPS 可以在 6 小时内处理 100PB 数据。
- 移动。动态修复和动态加载能力。
- 搜索。大规模实时图片搜索技术,给拍照搜索提供支撑。
- 广告。深度用户画像和兴趣挖掘,以更好的连接广告主和目标客户。
饿了么郭浩川:饿了么架构演进
饿 了么基础平台首席架构师郭浩川分享了饿了么架构演进,最开始是简单的 Nginx+PHP,后来访问量渐渐上来,于是在将服务器变为集群,同时添加 HAProxy 做负载均衡。再到后来全面采用 SOA 架构并且延续至今。郭浩川详细分享了饿了么在 SOA 架构上的优化,比如在网关增加硬件级负载均衡 F5 来 替代 HAProxy,后来为了做前后端分离,又添加了数据中间层,提供购物车、交易、地理位置等 API,同时正在做的有将服务统一注册到一个中间件,然后 通过 API 代理通过中间件来访问服务,以后会逐渐去掉 Nginx+PHP 部分,通过数据中间层直接通过 RPC 来访问服务。
京东何刚:互联网 + 时代拥抱生态
京 东商城技术副总裁何刚分享了目前京东和京东公有云整体的架构,以及一些创新点。何刚在分享里认为云和大数据是支撑京东现有架构的关键技术,其弹性基础设施 的关键是软件定义的数据中心 JDOS 和容器集群管理平台 CAP。京东目前在生产环境拥有超过 10 万容器实例在运行,4000+ 的服务器缓存集群,并且京东 100% 的应用都跑在云上。在数据中心上采用了基于地理的分布式 IDC,主数据中心用于管理所有关键数据,其它节点可承担交易闭环并与主数据中心进行数据 同步。另外值得一提的还有京东大脑,它被认为是京东现在以及将来的一项关键能力,通过 AI 技术在提升用户体验和交易效率。
百度韩超:移动应用搜索技术
手 机百度首席架构师韩超分享了手机百度在架构设计和移动搜索方面的经验,手机百度包括 B/S 和 C/S 架构,B/S 指的是客户端拥有加强的浏览器框架和自研的 WebApp 框架,提供的能力包括百度 T5/T7 内核,CloudaJS WebAPI,附加模块的浏览器引擎,优化过的搜索结果等。C/S 指的是高性能和动态的原生 UI,它吸收了 WebApp 的优点,将其作为原生实现并重用, 主要关注点在服务端能力和用户体验。客户端内容分发经历了从没有模板到静态模板,再到动态模板,然后是动态代码四个阶段,现在已经能在服务端提供对模板方 法、内容和数据较强的控制能力。
移动搜索需要面对的困难有屏幕、网络和设备的适配,移动 UI 和用户行为相对 PC 也有很大的改变,对于结果的展现也需要和 PC 不同,另外还需要考虑额外的搜索方式如语音搜索和图片搜索。对于移动搜索的优化和增强主要 包括更强大的交互、依赖社交网络以及信息闭环。在底层,对搜索结果提供 JS Bridge 能力,对浏览器引擎提供原生 UI 能力,对内容提供消息(长连接)能力。
猎豹移动吴俊达:移动变现场景设计与大数据
猎 豹移动海外移动变现高级总监吴俊达分享移动变现的场景设计和大数据,目前主流的移动变现方式有三个:应用内支付、付费应用、移动广告。猎豹移动作为移动应 用发行商,在移动广告领域投入了很多精力,建设了 CM 移动广告平台。吴俊达分享了猎豹移动在移动广告变现方面的一些思考和对大数据如何在移动广告领域应 用。移动广告要做到良好的用户体验,需要做场景设计,场景设计需要考量用户行为流和用户当前场景。用户的行为流不应该被打断,原生广告内容应该贴近应用本 身,防止打扰用户,最后是参与式广告,可以设计得有趣味一些,吸引用户参与。
携程叶亚明:移动化变革之路
携 程技术副总裁叶亚明分享了携程移动 App 的一些演进和优化之旅。在服务端之前是单体服务,后来改成了微服务,移动设备通过移动网关向不同的服务直接发送请 求。移动应用也从分层结构变为模块化,分离出基础框架、URL Bus、Hybrid 框架等。对移动网络、地图等都做了优化,并且研发了移动应用运行时监控来查看应用的各项运行指标。另外,携程还开发了 Apple Watch app,探索移动应用新的展现形式。
腾讯廖念波:海量服务之道
腾讯社交事业群后台高级技术总监廖念波将腾讯的海量服务总结为四点:
- Flexible availability:灵活可用。将特性和功能解耦并按照重要程度排序,优先保障重要程度高的功能的可用性。
- Comfort notice:失败提示。服务总有不可用的时候,在不可用的时候一定要设计好错误提示并尽快的展示给用户,减少用户的迷惑,这个失败提示应该是独立、鲁棒并简单的。
- Process crash:进程崩溃应对。当模块变多后,模块之间必然会产生复杂的依赖关系,一旦其中一个模块崩溃,会影响很多服务。应对之法是在一开始就使用防错式编程,进行完整的测试,并且分 set 部署,对进程监控实现毫秒级重启。
- Overlord protection:过载保护。每个系统,自己的最大处理能力是多少要做到清清楚楚。要有能力发现哪些是有效的请求,哪些是无效的请求。当过载发生时,该拒绝的请求越早拒绝越好。对于用户的重试行为,要适当的延缓。
由于演讲的内容庞杂,本文无法全部总结,演讲的视频和 PPT,后续会陆续发布到 InfoQ 网站上,感兴趣的同学可以关注。
评论