Qconn

扩展性、可用性与高性能

专题出品人: 
专题日期: 
星期六

本专题主要讨论大型复杂的互联网架构的设计与实践。

很多互联网包括移动业务成长非常迅速,需要在系统搭建之初以及成长阶段充分考虑系统架构的设计,以满足未来在稳定性、扩展性以及性能方面的要求。但是面对不同的业务型态,通常并没有现成的参考案例。本专题试图从已有的成功实践中,通过分析问题,找出解决思路的共性,给参与者带来在系统架构设计方面的思考及启发。同时,讲师丰富的实践经验分享也可作为大家日后的工作参考。

我们计划从不同的业务领域邀请实践者,分享他们在实际工作中所面临的挑战、成功,以及在扩展性、可用性与高性能实践时的经验与教训。

本专题将试图回答:

  • 业界最新的有关互联网扩展性架构的方向是什么?

  • 业界在互联网架构的方向有哪些最新的实践?

  • 可用性的量化及实施过程?

  • 大型系统在热点事件中系统架构如何设计、应对及测量

  • 代码设计在扩展性、可用性与高性能方面的作用

Web front-end systems for ecommerce companies use large and rapidly changing data sets. This talk describes how Booking.com has dealt with the challenges of increasing database sizes and demands for higher performance while the company grows rapidly. It is a two-year journey of transformation from a simple RDBMS architecture with new MySQL versions, hardware developments, application sharding, and clever code.

While the worlds of ecommerce, search, and application platforms might seem as far from the gaming industry as one might imagine, lessons learned in those environments are surprisingly applicable to online games. Real-time games in particular face many of the same challenges faced -- and solved -- by companies like eBay and Google. They are extremely latency-sensitive, are subject to unpredictable growth and scalability curves, and exhibit extremely spiky load profiles. The real-time player experience is critical to the success of a game -- if a game is down or slow, players will leave and never come back. This session will discuss how experiences with large-scale websites like eBay and Google have informed our approach to building, testing, and operating real-time games at KIXEYE.

This session tells several war stories from eBay and Google about performance, consistency, iterative development, and autoscaling. It further puts it all together by connecting those experiences with what we are now doing in our next-generation gaming platform at KIXEYE.

KIXEYE is a pre-IPO developer of online strategy and combat games based in San Francisco, and has grown 10x in the last 2 years. Funded by Trinity Ventures, we are profitable, and have over 500 employees across the US, Canada, Australia, and the Netherlands. KIXEYE's culture is defined by a passion for high quality, immersive real-time games and a desire to define the next generation of gaming online. We live by the credos Innovation Over Imitation, Quality Over Quantity, and Passion Over Profit.

虽然途牛旅游网的数据还远远称不上海量,访问量也不算巨大。但和大部分快速增长的互联网公司一样,途牛在用户访问量和数据处理量上面,一直面临着因为快速增长而带来的问题。途牛在高性能,高可用和可扩展上的应用,主要在三方面:搜索,大数据和起价计算。

在搜索方面,途牛使用的是开源的Solr搜索引擎。将给大家分享一下在对查询的前置解析,高频索引更新和局部索引更新,索引数据缓冲池,以及分面搜索(faceted search)的应用和相关的性能调优实践经验。

在大数据方面,途牛经历了从以传统中小型BI到以hadoop为主大数据平台的架构演变过程,数据量也从前期的T级别猛增到百T级别,数据平台业务覆盖从最初核心的几个领域扩张到全公司各个业务层面,大数据底层模型从传统BI的多维模型发展到目前多层业务迭代模型的过程。本次将给大家分享途牛大数据平台演变过程中,如何解决多平台,多数据源采集、数据建模和处理的过程,解决途牛公司级数据脏、乱、差,同时解决海量用户行为数据下,大数据平台快速处理、海量计算的过程。

最后,起价计算是旅游行业一个比较特殊的需求,比电商平台上的商品价格计算要复杂得多。一般商品的价格只有一个,而旅游行业的产品因为每天的价格可能都不一样,而且用户要选择哪天出行也不确定,因此每个产品就有一个起价,一般是几个月之内最低的价格。起价的计算对性能要求比较高。本次将给大家分享途牛是如何逐步解决起价计算的性能问题。

京东平台业务迅速增长壮大,为了更好地服务第三方卖家,京东必须全面开放各大业务系统。京东的电商信息系统非常复杂,有近千个电商业务模块,怎样在短时间内,快速自动开放各项业务系统,并确保开放接口的高可用性和安全性,是京东必须解决的问题。

“京东开放平台”,即JOS平台于2012年3月正式上线,到目前为止已为京东上下游的合作伙伴提供了12大类近500多个开放接口,接口日均调用量达数十亿次。同时JOS通过监控接口的调用过程,自动分配API调用资源,实时保护后端系统,防止雪崩,成为了京东的开放利器。

本次分享将带大家深入了解JOS开放平台的体系架构。并感受JOS如何面对问题一步一步的进化。在接口调用过程中动态分配服务资源,同时根据监控结果动态调整后端服务调用方案。API异步请求设计可以让API调用互相隔离,并在高并发的时候可以优先保证高优先级的API优先得到执行资源。

互联网企业的商业平台在稳定性、性能和用户体验等方面都有较高要求,如何应对海量数据存储、高性能要求、业务需求的快速响应,7*24H高可用、高稳定性要求等挑战,本主题将探讨解决方案。通过探讨互联网架构的发展与趋势,以及大数据商业平台建设面临的挑战引出整体架构设计思路,并结合搜狗商业平台具体案例进行分析。介绍了搜狗商业平台的分布式会话共享中间件、服务治理框架、分布式存储中间件、高性能任务调度系统、分布式数据审核等系统和组件的应用,希望能引发与会者在高性能、高可用、可扩展系统设计上的思考。最后,面对互联网日新月异的变化,在未来软件架构上同与会者一起思考和展望。

在刚刚过去的2014年马年春晚,新浪微博迎来了一次“大考”,主持人的每一次通过口播、电视二维码与新浪微博的互动,都会带来一次发表与访问的高潮。整个春晚过程中,微博发表量、访问量均创历史新高。微博平台顺利的通过了马年春晚的这次“大考”。这得益于在整个2013年中,微博平台从高可用性、高性能、高扩展性这“三高” 有针对进行了架构改造。

改造过程中也面临一些挑战,包括:

  • 微博平台的接口要求响应延时控制在40ms,而每一次“刷微博”都会调用数十个服务,另外,核心业务的数据存储量达到了千亿级别,每天的访问量超千亿;
  • 微博核心接口的SLA要求在99.99%,依赖的任何一个服务出现问题,都有可能影响到SLA。尤其是在这个磁盘、内存、带宽等软硬件资源频繁出问题的时代。
  • 峰值,如李娜夺冠、春晚等。这要求所有的资源、服务能够有良好的可扩展性,随时进行扩容/缩容。

微博平台对整体架构进行服务化改造(包括cache、MQ以及业务服务等),通过RPC将不同的服务进行隔离,区分核心服务与非核心服务并隔离部署,降低非核心服务对核心服务的影响,服务调用均异步化并行处理,并且有过载与超时保护,在资源与服务出现问题后,通过watchman可快速发现问题服务与资源,实现快速隔离与流量迁移。

希望通过这次分享,介绍微博平台架构改造过程中踩过的“坑”及积累的经验,希望对大家有所帮助。

“微信产品在两三年内快速崛起,创造移动互联网增速记录,2012年时任微信技术总监的harvey做过一次公开分享,把微信的成功归结于腾讯式的“三位一体”策略:即产品精准、项目敏捷、技术支撑;并且对微信后台架构是如何支撑产品特性的快速敏捷迭代做了介绍。

对于互联网后台,人们往往聚焦于高可用性,平行扩展等等,但是微信追求极致的用户体验,业务逻辑非常复杂细腻,在高可用的基础上也对强一致性有很高的要求,基础设施如何面对这些挑战呢。

本分享我将会带着大家深入微信架构内部,深度解析存储分布方面的基础设施。”