更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽

在驴妈妈旅游网成立初期,整体系统最初采用的是ALL IN ONE架构,服务器和数据库数量相对较少,每天处理的订单数仅仅是几百到上千个订单;业务量进一步增长后,整体系统按照业务进一步做垂直拆分,系统容量得到一定的增长,能处理几千个订单;随着业务的飞速发展,数据量和并发量高速增加,整体系统在根据业务量进行垂直拆分的情况下,同时对较长的流程进行水平拆分,并提供分布式部署,能实现日处理数万个订单;目前采用阿里云服务器、弹性计算,完成向云上架构转变,实现日处理数十万单甚至百万单业务量。

“混合云方案极大提高了整体弹性扩展需求,又同时满足了快速发展的业务需求。提高运营对价格的敏感度,满足几百万SKU的数据获取,从而提高了精准的运营能力,并提升了产品竞争力。该系统通过价格趋势,自动计算推荐价格,使运营价格调整更加容易、智能,并且结合外部用户行为数据,进一步完善推荐模型,推荐正在热销、性价比高、用户需要的产品。”

——邵汉成

驴妈妈旅游网技术副总


采用的阿里云产品

  • 阿里云云服务器 ECS

为什么使用阿里云

借助阿里云服务器、弹性计算,可以实现日处理数十万单甚至百万单业务量


关于 驴妈妈旅游网

驴妈妈旅游网:作为中国知名综合性旅游网站、自助游领军品牌、中国景区门票在线预订模式的开创者,驴妈妈旅游网创立于2008年,旨在为游客提供景区门票、国内游、出境游、大交通、商业定制游等预定服务。根据2015年10月劲旅智库数据显示,驴妈妈旅游网稳居在线旅游网站流量前三。其母公司景域集团连续四年入选“中国旅游集团20强”,并于2015年12月在北京股转中心挂牌上市。


驴妈妈旅游网系统发展历程

在驴妈妈旅游网成立初期,整体系统最初采用的是ALL IN ONE架构,服务器和数据库数量相对较少,每天处理的订单数仅仅是几百到上千个订单;业务量进一步增长后,整体系统按照业务进一步做垂直拆分,系统容量得到一定的增长,能处理几千个订单;随着业务的飞速发展,数据量和并发量高速增加,整体系统在根据业务量进行垂直拆分的情况下,同时对较长的流程进行水平拆分,并提供分布式部署,能实现日处理数万个订单;目前采用阿里云服务器、弹性计算,完成向云上架构转变,实现日处理数十万单甚至百万单业务量。

服务治理

随着架构的复杂度增加,整个系统的规模也随之增大,服务也越来越多。如果任由其发展,从外部来看,系统与系统调用、流转就像蜘蛛网一样错综复杂;当具体查询某一问题时,面对的系统像迷宫一样,可能会遇到不少困难。通过服务治理,可以提高系统的可用性。驴妈妈旅游网利用开源框架对其服务进行治理。通过服务治理,对不同的业务、请求分别处理,分别进行优化,实现弹性扩展,提高系统容量。整个系统中,具体的服务拆分包括两个原则:垂直拆分,按照业务线拆分,例如订单管理放在订单服务中,产品管理放在产品服务中等;水平拆分,各个业务流程之间可以通过消息机制等异步机制进行异步化,在水平层面上水平切割。垂直拆分与水平拆分相结合,得到一系列的服务,实现架构的更好部署与扩容。

驴妈妈数据库架构

驴妈妈旅游网数据库架构

上图为驴妈妈旅游网目前的数据库架构图。早期系统仅有一个数据库,但随着业务、并发性的增长,整体系统按照业务线进行数据分库,例如用户库、产品库、订单库等库。数据分库一方面可以减小单点的压力,另一方面,当部分库出现问题时,不影响系统其他库的正常运行,系统更加平稳;然而单独的一个业务库,在高压的情况下,可能不满足需求,需要进一步进行读写分离,将主库的数据同步到多个备库上,读取数据等查询操作可通过不同备库进行,实现读写分离,增加系统的稳定性;数据库整体使用多种数据库类型,目前主要使用MySQL,还有一些NoSQL数据库,保持整体之间的异构复制。

在线旅游数据分析系统

数据分析系统项目目标

一个完整的数据分析系统需要能了解同行业产品数据及价格变动情况,使得企业能够实施准实时应对策略,从而完善精准运营,并且该系统同样也应该能够丰富用户行为数据,完善推荐模型,提高推荐准确度。同时在线旅游产品数据分析系统和其他传统电商相比有着产品标准化低的特点,在技术实现时应当区别对待。

为什么选择阿里云?

驴妈妈在线旅游产品数据分析系统一期实现遇到的问题

驴妈妈在线旅游产品数据分析系统一期技术实现,完全采用的自建机房搭建服务。虽然在一定程度上满足业务需求,但也暴露了相当多的问题:一是数据量的不断增加,服务器需求过快增长,传统的做法,从采购、上架、加电、添加虚拟机再到应用耗时几周,无法满足快速变化的业务量;二是出口IP有限,容易造成访问限制;三是大量数据的分析会对网络的流量造成影响,如果与业务系统同机房,会影响正常业务。

驴妈妈混合云方案

为了解决上述存在的问题,驴妈妈旅游网采用混合云方案来构建其数据分析系统。上图左半部分是OTA同行数据。中间是阿里云集群,规模约有1000+虚拟机,集群上部署着数据采集集群,用于采集行业数据,同时阿里云集群上可以进行数据分析,包括离线分析和实时分析。其中离线分析是将数据导入Hadoop集群的HDFS中,通过MapReduce每天做一次或多次做离线分析;对于特定、高优先级的数据,可通过Storm或Spark实时分析深加工。分析后数据以表格格式存储,此后数据进一步推送到驴妈妈的IDC应用模块中,包括搜索模块、价格模块、推荐模块、产品模块,然后再对数据采集系统进行反馈调整,如进行增加采集任务等。 目前数据分析平台每天大约处理几百万SKU数据,同时Storm实时分析可以做到分钟级别。

ECS上的应用集群

在阿里云的采集集群和Hadoop上采用ECS技术,一方面及时满足100w+SKU采用性能需求,另一方面也可以及时满足不断增长的存储空间要求。
在混合云方案中,其中一部分数据存储在Hadoop集群的HDFS中,加工后的数据存储在MySQL。不但实现了采集数据快速存储,同时也能够承受大数据/高峰值冲击,以及海量数据查询。

使用阿里云混合云架构的成效

混合云方案极大提高了整体弹性扩展需求,又同时满足了快速发展的业务需求。提高运营对价格的敏感度,满足几百万SKU的数据获取,从而提高了精准的运营能力,并提升了产品竞争力。该系统通过价格趋势,自动计算推荐价格,使运营价格调整更加容易、智能,并且结合外部用户行为数据,进一步完善推荐模型,推荐正在热销、性价比高、用户需要的产品。

关于驴妈妈旅游网的更多实践详情:国内在线预订模式开创者驴妈妈旅游网:如何在混合云上搭建产品数据分析系统
原文发布日期:2016-03-15
云栖社区场景研究小组成员:贾子甲,仲浩。

云场景实践研究第7期:驴妈妈旅游网相关推荐

  1. 云场景实践研究第85期:墨迹天气

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 墨迹运营团队每天最关心的是用户正在如何使用墨迹,在他们操作中透露了哪些个性化需求.这些数 ...

  2. 云场景实践研究第55期:京颐集团

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 京颐集团的趣医网从2014年的5月建立之初就开始了上云之路,上云的初期,管理层还担心上云 ...

  3. 云场景实践研究第74期:科沃斯

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 科沃斯机器人德国的市场占有率达到了34%,是德国所有扫地机器人的NO.1的产品.本文分享 ...

  4. 云场景实践研究第34期:加和科技

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 ReachMax成立之初,主创推出的PDB可退还模式在业内还是一个很新的服务模式.为了精 ...

  5. 云场景实践研究第27期:袋鼠云

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 随着网站论坛粉丝数高涨,原有系统架构和服务器性能已无法满足热情高涨的粉丝需求.同时,网站 ...

  6. 云场景实践研究第52期:畅游

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 畅游在手游和端游方面做了很长时间,在游戏运维方面也积累了十几年的经验.而畅游对于混合云来 ...

  7. 云场景实践研究第37期:悦跑圈

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 作为一款基于社交型的跑步应用,悦跑圈选择阿里云文件存储服务,实现高可用.高可靠.线性的横 ...

  8. 云场景实践研究第33期:神州优车

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 摘要:专注于汽车出行,汽车买卖和围绕汽车的相关金融行业的神州优车,曾一度通过自建托管的I ...

  9. 云场景实践研究第40期:网聚宝

    更多云场景实践研究案例,点击这里: [云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 作为阿里云的深度用户,网聚宝的成长和阿里云的成长已经深深交织在了一起,在公开的5个产品 ...

最新文章

  1. Java并发—锁的四种状态
  2. python pyqt eric_科学网—PyQt及Eric的安装 - 张鲁新的博文
  3. java struct工作原理_Struts2的工作原理(图解)详解
  4. gitter 卸载_最佳Gitter渠道:Python和Django
  5. linux内实践核分析模块
  6. JavaScript基础(二)-类
  7. 信号的概念以及网络布线
  8. 几个Cache方案的比较
  9. java ojdbc14 查询数据表,Oracle10g JDBC ojdbc14 DATE类型hibernate查询时分秒问题
  10. 编程随想 关系图_邹军:想成为编程工程师,玩透数控宏程序编程,这里有一个大招分享给你...
  11. 精易论坛多线程培训第二期
  12. 2019DeeCamp夏令营总结
  13. python中开根号函数_用二分法定义平方根函数(Bisection method Square Root Python)
  14. 一个完整的App应该具备哪些功能
  15. 什么是“大数据新闻”? 大数据
  16. 基于微信小程序的游戏账号交易小程序
  17. 517电信日丨联通沃云携全新“上云引擎”,助力企业数字化转型
  18. 在线副业教程之 01 如何通过编码赚钱的 6 种方法
  19. 秋季天凉易感冒 冷水洗脸来预防
  20. 【解读】主板·主板型号·命名规则√

热门文章

  1. 流利阅读 2019.3.11 Going TikTok—Indians get hooked on Chinese video app ahead of election
  2. Java wed 4s店汽车销售出租系统
  3. anki 新的卡片类型_Anki系列-经验合集
  4. 用鲁大师硬件检测查看自己的电脑配置
  5. 史上最NB的绕口令~
  6. 用于图像去雾的优化对比度增强算法
  7. 计算机辅助教学发展的现状,计算机辅助教学的应用现状及对策研究
  8. 服务商快速进件V1.6.3源码帮助客户开通微信支付账号公众号应用
  9. XDMA驱动配置及详解
  10. 集群-大规模Linux集群部署-MPI集群搭建与MPI编程