QCon 上海 2015 架构实战热点前瞻

阅读数:1182 2015 年 9 月 24 日

话题:QCon架构DevOps语言 & 开发文化 & 方法

QCon 上海 2015将于 10 月 15 日~17 日在上海·光大会展中心国际大酒店举行。本次大会邀请了国内外一线互联网公司的技术负责人、架构师,来分享他们的实践经验。目前已经确认全部讲师,报名工作将于 10 月 10 日截止。

架构是软件行业永远离不开的主题。面对越来越多的用户、越来越多的数据,系统对高可用、可扩展架构的要求也越来越高。我们就来看看本次大会的热点架构话题吧。

Matt RanneyUber 的首席系统架构师,主要负责构建 Uber 的可伸缩、高可用的后端分布式系统。他将做主题演讲,分享《针对失效做设计——Uber 的系统伸缩之道》:

随着 Uber 的业务不断向新的城市拓展,对高可用、可伸缩的需求也随之增加。而且团队规模也在扩大,开发人员数量光今年就翻了一倍,构建可靠系统的挑战也随之而来。就 Uber 的规模而言,短暂的服务中断,不管是对公司的营收还是对人们的日常生活,都会带来很大的代价。

为更好地处理失效,必须把失效看作常见现象,并针对性地作出设计。Uber 构建的每个新系统都会经过常规的失效测试,数据库也是如此。在公司规模很小时一些行之有效的手段不再适用,这时需要新的技术选择。从小变大的过程,文化和技术方面的挑战兼而有之。本次演讲将分享 Uber 扩展系统和团队规模的解决之道,并讲解 Uber 是如何看待高可用的。

另外,在可扩展、高可用架构专题中,他还将分享《Uber 的分布式系统架构之道》 :

Uber 的后端系统非常复杂,本次演讲将分享该系统的架构,并介绍实现可伸缩和高可用的不同技术。目前很多项目都已经开源出来,感兴趣的读者可以先行了解,也希望能有机会与世界各地的开发者合作。

Gil Tene是 Azul Systems 公司的联合创始人兼 CTO。过去的 25 年,他一直从事虚拟机和运行时技术的开发。他的兴趣主要是研究系统响应和延迟行为。Gil 经常在全球范围的技术大会上发表演讲,他还是 JavaOne 明星讲师。他作为主要作者提出了 C4(Continuously Concurrent Compacting Collector)垃圾收集算法,该算法也是 Azul 的响应式 Java 平台的基础。他擅长 Java 虚拟化、弹性内存、各种托管运行时等技术,是著名的 Java 和 JVM 专家。他将带来主题演讲《注重实效的性能》:

系统和用户体验往往是受软件设计选择主导的。作为软件开发者和工程师,我们会努力榨取系统的性能。但如果用一些外部指标来衡量,“性能”究竟意味着什么呢?在本次演讲中,我们将探讨现代软件系统中,可以见到的性能的方方面面,介绍常见的取舍与技术,以及随之而来的意料之外的一些现象。

另外,他还将在Java 问题诊断与性能优化实践专题中分享《延迟测量之道》:

对于很多软件从业人员而言,测量、监控和改进应用的响应性是常见的需求。不管是开发还是管理应用,理解应用的响应性及影响响应性的主要机制,是应用取得成功并使用户满意的关键。在本次演讲中,Gil 将带大家研究一下延迟和响应时间的特征,并分享一些已被证明行之有效的测量、报告和研究延迟的方法,最后会分享一些常见的陷阱。

许令波(花名君山),阿里巴巴高级技术专家 。09 年毕业进入淘宝后,一直工作了 6 年时间,所有的工作经历都和淘宝的发展阶段相关。著有《深入分析 Java Web 技术内幕》一书。他将分享《大流量 Web 系统的性能优化实践》:

这是我在淘宝 6 年的工作总结,也是我的 6 年的实践经验,这 6 年比较幸运的是基本经历了淘宝的最飞速发展的时期(淘宝流量最大的商品详情系统从 1 亿到 10 亿的发展过程),在这个过程中性能是最大的挑战。

这么多年的优化经历可以总结出优化的三个阶段:

  1. 系统代码层面的优化。找出代码热点;重构代码逻辑;优化业务逻辑减少和合并远程调用;
  2. 架构优化。优化系统的架构,横向和纵向系统扩展;数据层面的合理 cache;用户请求的拆分和合并等都会影响到系统的性能;
  3. 链路优化。举个例子用户在手机端访问详情会涉及到手机上的 APP,到运营商的基站(CDN 的部署),到服务端的接入网关,再到后端的业务系统(分为安全验证、访问控制、会话管理、以及各个业务系统的交互),最终的优化的目标是提升整个用户的访问体验,所以用户的一次访问的各个环节都要综合考虑给出最佳优化方案。

而每个层次的优化又是后面一个优化的前提,我讲针对每个优化阶段的一些实际案例,比如秒杀系统的设计是基于何种考虑实现的等。

除了上面这些不同的优化路线图,我还总结了那些会特别影响优化效果的一些方法论:

  1. 为何避免 Java 数据的序列化;
  2. 为何避免 Java 数据的编码;
  3. 大流量 Web 系统为何不要有 Java 做 cache。

徐盎,饿了么技术运营部总监。负责饿了么技术运营部,当前职责是降低业务飙升期间的事故次数,减少事故影响时间。他将分享《饿了么技术运营实践——急速发展之体悟》:

在业务量持续陡升、创新不断、生态逐渐丰满的节奏中,扩容是常态每个应用都可能成为系统的瓶颈。如何减少发现、定位时间,如何快节奏里完善技术运营体系?让我们来反思。

  1. 创业团队各种平台工具各显神通的困局突破
  2. 自动化与业务高交付压力的矛盾
  3. 立体化监控实践

桑文锋,Sensors Data 创始人 &CEO。前百度大数据部技术经理,从 2008 年底开始组建并带领团队,从零开始实现了百度用户日志的大数据平台。目前创业在做一款针对互联网创业公司的数据分析产品 Sensors Analytics。他将带来的分享是《初创公司构建数据分析平台》:

初创公司在数据分析方面有哪些错误的认识?初创公司如何实现数据驱动?如何从零搭建数据分析平台?如何规范数据?如何数据建模?如何构建查询分析平台?在数据分析平台建设上,有哪些关键问题?本演讲希望为你打通任督二脉。

演讲的主要内容包括:

  1. 对数据驱动,有哪些是是而非的认识?理想状态又是如何?
  2. 现有常用方案剖析,有哪些优势及不足;
  3. 推荐的一套方案,包括数据的采集、传输、建模存储、数据统计分析挖掘、数据可视化与反馈;
  4. 演示一个电商数据分析的案例。

尤勇,目前在大众点评网基础架构部门负责整个监控系统、云平台研发等。他将分享《分布式监控系统的设计与实现》:

CAT 目前是一个开源的监控产品,在业内已经有多家公司在使用。目前 CAT 在点评内部目前每天处理 300 亿消息,30TB 消息,单台机器高峰 QPS16w/s,监控的客户端 1000+ 应用,6000+ 机器。

演讲的主要侧重于纯技术角度(架构与实现)来解析 CAT 在四年中碰到的一个又一个挑战(同时还有一些我们在做监控的过程中走过的弯路),以及在这些挑战背后如何做的技术选型等。

演讲会提到一些高效开发的一些技巧和理念,整个 CAT 的开发过程中,整个团队始终在 2-3 人,内容可能会包括一些组件化技术,数据建模以及代码生成技术,单机开发调试等。

监控包括现在的流行的 APM 其实是一个很广泛的话题,现在如此之火也就意味着它在公司整个研发体系下有巨大的价值,希望这次演讲能让大家深入了解监控以及 APM 这个领域,尽请关注。

顾庆,携程框架研发部高级经理,负责消息系统等基础设施的研发工作,有多年消息系统开发和运营经验。当前负责的携程新一代开源消息系统Hermes刚刚完成研发,正在随着多个重要业务项目的架构改造展现威力。他将分享《携程异步消息系统实践》:

消息队列是一种广泛使用的异步通讯机制,使用消息队列往往可以获得更加健壮和可维护的系统。Hermes 是携程新一代的消息队列系统,它的设计特点是简单、高效、扩展性以及完善的监控,可应用在高吞吐、高可靠等多样的业务场景之下。本次演讲将会从两个角度来分享消息系统,一是从消息系统自身的开发者角度介绍构建消息系统需要解决的核心问题 (可用性、吞吐量、传输延迟、有序消息、消息存储、过滤、重发等)、Hermes 的整体架构设计及存储演变 (brokerless->master-slave brokers->clustered brokers,MongoDB->MySQL+File) 以及与常见消息系统的比较等。二是从消息系统使用者的角度分享如何使用好消息系统、有哪些典型的应用场景以及在携程的应用推广情况等。

胡根,搜索广告和大数据的工程技术研发负责人,对搜索广告检索引擎和系统架构优化有深刻理解。他将带来的分享是《搜狗搜索广告检索系统——弹性架构演进之路》:

搜索广告是搜狗的主要收入来源,每秒钟都承担了海量的广告变现请求,但随着搜狗的业务持续快速发展,我们常常面对由于业务逻辑越来越复杂、流量持续增大、广告数据指数增长带来线上不稳定、服务架构急需调整等问题,因此我们需要寻找到这样一种解决方案,支持业务、数据、服务架构的弹性扩展?本演讲将和大家分享在搜狗广告检索系统演化的过程中,如何由被动技术改进到业务、数据、服务架构层的弹性演化心得。

听众受益:

  1. 搜索广告检索服务端架构演进设计经验;
  2. 在可控成本下支持数据弹性扩展;
  3. 在服务器越来越多、后端架构越来越复杂的情况下进行稳定上线迭代。

Leon Wang,广发证券架构师。具有十年以上的软件开发和八年以上的软件架构设计经验。他将分享《Design Pattern 在金融交易系统中的应用》:

证券交易系统,面临的都是低延迟,高并发,事务性的操作。

  1. 我们应用 Event Sourcing、Leader Election 模式,解决交易中间件的高可用问题(多活,零延时切换)。
  2. 运用 LMAX Disruptor 解决服务内的高并发,低延迟消息传递。
  3. 基于 PGM 组播实现的交易总线解决服务任意扩展的问题。
  4. 利用 CQRS(Command Query Responsibility Segmentation)Pattern 实现事务性操作与查询操作分离,从而提高事务性操作并发性能。
  5. 基于 Google Dapper 论文实现消息 Tracing,监控并定位性能瓶颈。 
  6. 应用各种 Cloud Design Pattern(Cache Aside,Circuit Breaker,Compute Resource Consolidation)等解决分布式系统的健壮性问题,以及 CPU/IO 资源的有效调度。

听众受益:

随着云计算的发展,产生了新的 Design Pattern。分布式系统,微服务遇到的大量问题都可以参考这些 Pattern,没必要重新造轮子。另外,国内重开发,轻 Design Pattern 一直是一个问题,通过该演讲展示 Design Pattern 的强大威力,采用适当的方法和过程,达到事半功倍的效果。

更多精彩演讲,请关注大会日程页面