Qcon上海2014

扩展性、可用性、高性能

专题出品人: 
专题日期: 
星期四专题
地点: 
光大9号厅

本专题主要讨论大规模系统的架构设计、关键技术和实践经验。

大规模系统的关键特征是高可用、易扩展,同时做到高性能。很多业务或系统发展迅猛,能否在系统搭建之初就充分考虑未来架构,不同阶段分别怎么做?这些通常没有现成可复用的案例。本专题试图从已有的成功实践中,通过分析问题,找出解决思路的共性,给参与者在系统架构设计方面的思考及启发。

本专题从不同的业务领域邀请分享大型系统和重要组件的实现案例,特别是互联网海量平台的实施过程,在扩展性、可用性与高性能等方面的设计考虑和宝贵经验。通过这一系列的专题演讲,您将了解到:

  • 大规模系统的架构设计案例,如何体现可用性、可扩展性并保持高性能?
  • 互联网开发和运营的思维,有什么实践经验和值得借鉴的理念?
  • 深度的技术分析,如何量化以及有什么最佳实践?

在Booking.com,面对持续的业务增长,我们需要寻找这样的解决方案:支持伸缩,而不必大量修改或调整业务逻辑,同时不能引入不必要的复杂性或者失效点。

为将持续的访问迁移到底层的存储中,我们采用了不同的方案。有些涉及memcached,有些涉及redis,有些还涉及提供分布式键值存储的定制中间件。每种解决方案都各有优缺点。有时只是根据我们的增长量传一些阈值,就碰到问题了。

最近我们开发了自己的键值存储和缓存层,部分是受Go语言实现的groupcache的启发,部分和memcached等价,但是可以使用存储插件,这些插件可以感知我们的基础设施,还可以包含业务逻辑,以支持从底层存储中检索数据。

为什么要开发libshardcache和shardcached呢?演讲中会介绍产生这种动机的过程和思考,并分享我们在产品中部署的初步经验。项目目前托管在Github上:libshardcacheshardcached

存储是系统架构中不可缺少 的重要部分。 随着 社交时代和移动互联网时代的来临,传统关系 型数 据库的性能、可扩展性逐渐受到挑战。越来越多的开发者将目光投向了简单、灵活、天生具备可扩展性 的NoSQL类存储。作为NoSQL重要组成部分的KV存储系统自然也受 到了 广大开发者的关注。但目前常见的KV存储系统本身并不 具备 高可用和在线扩容功能,这对系统的运营造成了不少的麻烦。本次演讲主要介绍一种构建高可用弹性伸 缩的KV存储系统的方法以 及ucloud在设计umem中的一些具体实践应用。

携程拥有业界最全的旅游产品线,随着业务的高速发展,新产品不断的引入(客栈、邮轮、火车票、顶级游..),产品形态不断的创新(目的地参团、MICE、自由行套餐…. ),  如何帮用户快速找到产品给搜索引擎带来了新的挑战。我们在lucene API的基础上,做了大量的二次开发,使用大规模的数据挖掘做用户意图分析和查询改写,优化索引结构提升检索性能,完善实时索引的机制。报告将介绍携程的产品搜索和 Auto completion技术架构,它利用后台大规模的数据挖掘和实时索引技术,具有如下特点:

  1. 实时语义分析和智能化引导
  2. <50ms的快速响应时间
  3. <5s的实时数据更新
  4. 可靠易扩展的架构,快速支持新的产品线

 

去哪儿网作为一个电子商务网站,对数据库的高可用性要求甚高,我们在尝试了各种方案后,推出了自己的基于pxc的架构,PXC,即Percona Xtradb Cluster,它采用galera引擎,为MySQL数据库的同步方案提供了一个新思路。我们还开发了自己的监控层和数据库连接池管理层,同时利用zookeeper作为配置管理,多个组件协同工作,在探索数据库高可用的道路上,走出了属于自己的一步。

解决跨数据中心的数据同步和一致性问题,实现跨机房的高可用访问(比如中国特殊网络状况,提供多个数据中心的情况下,解决数据的可用性、一致性)。

千牛是阿里巴巴商家的多端开放式工作平台,每天服务500w+的活跃商家在移动和桌面端操作业务,同时千牛本身是一个开放的端体系架构,上面承载着上百家ISV的服务(还在不断增加),在端设计上做到开放和体验,开放和安全的平衡。通过分享多个阶段的开放式移动工作平台的客户端及服务端架构演进,分享如何构建可开放的移动插件平台架构,同时针对开放模式下移动客户端存在的速度,安全,稳定性等问题和案例,更针对性的介绍无线开放的技术细节问题方面的解决和突破。

听众受益:开放式移动端和服务端架构设计经验,架构优化案例,移动端开放式安全设计

幻灯片大纲:

  • 开放式无线端源起
  • 多端开放工作平台架构演进
  • 开放式无线端设计案例分享