直播视频:
(点击图片观看)




3月11日云栖社区在线实时分享顺利结束,本次由驴妈妈技术副总邵汉成分享了驴妈妈旅游网基于混合云的OTA行业数据分析、精准运营和大数据用户推荐。本次视频直播的整理文章、视频整理完毕,如下面内容。
系统发展历程
在驴妈妈旅游网成立初期,整体系统最初采用的是ALL IN ONE架构,服务器和数据库数量相对较少,每天处理的订单数仅仅是几百到上千个订单;业务量进一步增长后,整体系统按照业务进一步做垂直拆分,系统容量得到一定的增长,能处理几千个订单;随着业务的飞速发展,数据量和并发量高速增加,整体系统在根据业务量进行垂直拆分的情况下,同时对较长的流程进行水平拆分,并提供分布式部署,能实现日处理数万个订单;目前采用阿里云服务器、弹性计算,完成向云上架构转变,实现日处理数十万单甚至百万单业务量。
图一:系统发展历程
服务治理
随着架构的复杂度增加,整个系统的规模也随之增大,服务也越来越多。如果任由其发展,从外部来看,系统与系统调用、流转就像蜘蛛网一样错综复杂;当具体查询某一问题时,面对的系统像迷宫一样,可能会遇到不少困难。通过服务治理,可以提高系统的可用性。驴妈妈旅游网利用开源框架对其服务进行治理。通过服务治理,对不同的业务、请求分别处理,分别进行优化,实现弹性扩展,提高系统容量。
图二:服务治理控制台
上图显示的是服务治理控制台的具体运行效果,包括不同机器上提供的服务类型、服务状态、流量的统计等等。如果正在运行正常的系统遭受恶意WEB流量恶意攻击,服务治理控制台可以快速的将此恶意流量隔离到其他虚拟机上。
整个系统中,具体的服务拆分包括两个原则:垂直拆分,按照业务线拆分,例如订单管理放在订单服务中,产品管理放在产品服务中等;水平拆分,各个业务流程之间可以通过消息机制等异步机制进行异步化,在水平层面上水平切割。垂直拆分与水平拆分相结合,得到一系列的服务,实现架构的更好部署与扩容。
数据库架构

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

图四:数据分析系统项目目标
一个完整的数据分析系统需要能了解同行业产品数据及价格变动情况,使得企业能够实施准实时应对策略,从而完善精准运营,并且该系统同样也应该能够丰富用户行为数据,完善推荐模型,提高推荐准确度。
同时在线旅游产品数据分析系统和其他传统电商相比有着产品标准化低的特点,在技术实现时应当区别对待。
图五:一期方案和问题
驴妈妈在线旅游产品数据分析系统一期技术实现,完全采用的自建机房搭建服务。虽然在一定程度上满足业务需求,但也暴露了相当多的问题:一是数据量的不断增加,服务器需求过快增长,传统的做法,从采购、上架、加电、添加虚拟机再到应用耗时几周,无法满足快速变化的业务量;二是出口IP有限,容易造成访问限制;三是大量数据的分析会对网络的流量造成影响,如果与业务系统同机房,会影响正常业务。
图六:混合云方案
为了解决上述存在的问题,驴妈妈旅游网采用混合云方案来构建其数据分析系统。上图左半部分是OTA同行数据。中间是阿里云集群,规模约有1000+虚拟机,集群上部署着数据采集集群,用于采集行业数据,同时阿里云集群上可以进行数据分析,包括离线分析和实时分析。其中离线分析是将数据导入Hadoop集群的HDFS中,通过MapReduce每天做一次或多次做离线分析;对于特定、高优先级的数据,可通过Storm或Spark实时分析深加工。分析后数据以表格格式存储,此后数据进一步推送到驴妈妈的IDC应用模块中,包括搜索模块、价格模块、推荐模块、产品模块,然后再对数据采集系统进行反馈调整,如进行增加采集任务等。
目前数据分析平台每天大约处理几百万SKU数据,同时Storm实时分析可以做到分钟级别。
图七:ECS上的应用集群
在阿里云的采集集群和Hadoop上采用ECS技术,一方面及时满足100w+SKU采用性能需求,另一方面也可以及时满足不断增长的存储空间要求。
在混合云方案中,其中一部分数据存储在Hadoop集群的HDFS中,加工后的数据存储在MySQL。不但实现了采集数据快速存储,同时也能够承受大数据/高峰值冲击,以及海量数据查询。
新方案的成效
混合云方案极大提高了整体弹性扩展需求,又同时满足了快速发展的业务需求。提高运营对价格的敏感度,满足几百万SKU的数据获取,从而提高了精准的运营能力,并提升了产品竞争力。该系统通过价格趋势,自动计算推荐价格,使运营价格调整更加容易、智能,并且结合外部用户行为数据,进一步完善推荐模型,推荐正在热销、性价比高、用户需要的产品。
经验分享

图八:系统监控
在提升系统稳定性,解决系统疑难杂症方面,除了调整整体架构,也可以从系统监控方面入手。采用监控系统能及时发现问题所在,如流量的突增等等,因此研发人员也应当对其加以重视。该页PPT通过几个简单的例子解释监控的效果,如图所示,Heap Memory窗口显示的是系统波动过程,当波动较大时一般是有大量的数据请求,;Old Generation窗口显示内存不可回收的现象,表现为系统越来越不稳定;Virtual Memory显示的是堆外内存,相对而言,该类问题定位更不容易,如资源泄露、线程的暴涨都会导致虚拟内存的过度使用,从而导致系统崩溃;TCP connection/Open files 和HTTP thread 可用来查看程序是否出现问题,如文件泄露积累到一定程度,会导致外部请求无响应;Database CPU%同样可以显示整个系统流量的状况,当使用率过低时,一般情况下,流量是被外围拦截,导致请求达不到系统。如果解决了系统中存在的大量隐患,可以进一步提升系统的弹性伸缩和性能。需要监控的数据项比较多,上面仅仅为几个例子。有些监控项可以简单地加入到Zabbix中,有些需要研发人员写脚本收集数据并发送到Zabbix系统中。
对于研发人员,特别是架构师、开发组长、总监,可以每日都关注这些监控的结果,及早排除系统隐患,提高系统的稳定性与性能。
QA环节:
1、OTA电商与传统电商的异同点?
答:相同点:两者都需要面对大量的数据、大量的访问流量、多用户。系统都不停地增长、不停扩容。
不同点:一是旅游产品时间周期长、波动较大,因此数据量大,涉及到大量的价格计算,对这些价格计算的优化很重要。二是旅游产品是非标产品,,需要与供应商对接这些产品,或需要业务上架这些产品。对接产品和上架产品的效率非常重要,需要提高运营效率。三是旅游系统要同景区、供应商对接,由于对接系统框架有异、它们的性能和稳定性都千差万别,因此旅游系统需要保持较强的稳定性,即使在高流量影响了对接系统的稳定性,OTA系统也要保证不受它们的干扰从而能高效运行。四是用户体验不同,OTA产品的及时性更高,更注重用户的体检,比如用户从购买门票,用户从线上购买到完成入园,需要做到分钟级别的体验。
2、数据库一主多备的情况下如何减小主数据库的压力?
答:对数据库本身,以数据库分拆为主。可以按业务分拆数据库,比如用户库、订单库、产品;当同一大业务分类的数据多时,可进一步拆分,比如产品库可以进一步拆分酒店库、机票库等等。以抢红包为例,当有抢红包活动时,随着人数的增多时,数据库的压力增大,如果一个主库出现压力增大问题时,将其拆分成多个备库,可以将最后的下单、抢红包的那一瞬动作写到主库上,将查询和访问等操作在备库上进行。在拆库过程中需要注意路由的选择,数据的一致。
同时应用层可以通过缓存、排队、消息异步化等机制,实现访问量的削峰填谷,降低主库的压力。
3、读写分离是在数据库层面还是在应用层实现?
答:数据写入主库的同时通过数据库同步机制同步到多个备库上;应用层读写数据时,并非每个应用各自定位到不同数据库,而是通过应用层的中间件路由到不同的库。
4、离线分析和实时分析的不同场景是什么?实时分析采用哪种技术?
答:一般数据使用Hadoop MapReduce做离线分析,每小时分析一次或几天,有些甚至一天一次。高优先级的数据采用Storm进行实时分析。高标准、高优先级的数据采用Storm进行实时分析。
关于分享者
邵汉成,驴妈妈旅游网技术副总
驴妈妈旅游网:作为中国知名综合性旅游网站、自助游领军品牌、中国景区门票在线预订模式的开创者,驴妈妈旅游网创立于2008年,旨在为游客提供景区门票、国内游、出境游、大交通、商业定制游等预定服务。根据2015年10月劲旅智库数据显示,驴妈妈旅游网稳居在线旅游网站流量前三。其母公司景域集团连续四年入选“中国旅游集团20强”,并于2015年12月在北京股转中心挂牌上市。

相关系列文章:

  • 第九期:《微博:一亿访问量背后的分钟级服务器扩容》
  • 第八期:《有货:六层混合云架构打造中国最潮生态圈》
  • 第七期:《美柚:最懂女性App背后的混合云架构与大数据服务》
  • 第六期:《涂鸦科技:支撑从零暴增数十亿数据的背后,竟无专职运维!》
  • 第五期:《千万级用户App小咖秀:服务端架构设计分享》
  • 第四期:《空格App亿元A轮融资背后:云上多场景技术架构实践与经验》
  • 第二期:《游族网络:如何运维千台以上游戏云服务器》
  • 第一期:《淘宝丁奇:如何解决影响MySQL使用的9大问题》

国内在线预订模式开创者驴妈妈旅游网:如何在混合云上搭建产品数据分析系统...相关推荐

  1. 云场景实践研究第7期:驴妈妈旅游网

    更多云场景实践研究案例,点击这里:[云场景实践研究合集]联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 在驴妈妈旅游网成立初期,整体系统最初采用的是ALL IN ONE架构,服务器和数据库数量 ...

  2. 驴妈妈旅游网技术架构发展

    1技术架构发展 1 基本完成第三阶段SOA服务分拆和高可用治理 2 向弹性计算,云服务发展 服务拆分: 垂直线拆分:业务线拆分 水平拆分:业务流程拆分 2数据库架构 业务分库 读写分离 异构复制 读写 ...

  3. 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台

    一.环境搭建 1. <OD大数据实战>Hadoop伪分布式环境搭建 2. <OD大数据实战>Hive环境搭建 3. <OD大数据实战>Sqoop入门实例 4. &l ...

  4. 往期直播:《驴妈妈,基于混合云的OTA行业数据分析、精准运营和大数据用户推荐》...

    最新活动报名: 3月16日直播<空格技术架构云上实践与经验>:https://yq.aliyun.com/webinar/join/4 3月18日直播<爆款App小咖秀产品服务端架构 ...

  5. 2017最新高清仿驴妈妈旅行网大数据分析项目实战演练培训视频 228课

    2017最新高清仿驴妈妈旅行网大数据分析项目实战演练培训视频 228课 CK1925-北风网驴妈妈项目 视频收集不易,请大家珍惜.Q:1225462853 下载地址:https://pan.baidu ...

  6. 基于JAVA老鹳窝旅游网计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA老鹳窝旅游网计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA老鹳窝旅游网计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  7. 互联网晚报 | 1月5日 星期三 | 雷军公布小米百万美金技术大奖;国内航线燃油附加费取消征收;北京冬奥成首个“云上奥运”...

    今日看点 ✦ 荣耀首款折叠屏手机Magic V定档1月10日,首发维信诺折叠方案 ✦ 雷军为小米百万美金技术大奖颁奖,铁蛋机器人团队获最高奖项 ✦ 为近10亿笔订单提供交易保障,"有赞担保& ...

  8. 基于Hadoop技术实现的离线电商分析平台(Flume、Hadoop、Hbase、SpringMVC、highcharts)- 驴妈妈旅游项目

    离线数据分析平台是一种利用hadoop集群开发工具的一种方式,主要作用是帮助公司对网站的应用有一个比较好的了解.尤其是在电商.旅游.银行.证券.游戏等领域有非常广泛,因为这些领域对数据和用户的特性把握 ...

  9. 驴妈妈旅游菜单导航带源码

    个人因为转前端的原因,每天学一点和大家呢分享一点.然后今天抽空一边看手册一边敲,下面我会把代码附上. style.css文件 html文件 效果图 转载于:https://www.cnblogs.co ...

最新文章

  1. python程序的原理_Python程序的执行原理(转)
  2. 工控安全要避开传统IT安全思路的几个“暗坑”
  3. UNICODE与UTF-8的转换
  4. SUSE Linux 维护笔记一
  5. python实训名片管理程序_python3学生名片管理v2.0版
  6. 最短路径 floyd java_java实现Floyd算法求最短路径
  7. Python使用ldap3操作微软AD
  8. 最近公共祖先_LeetCode 236. 二叉树的最近公共祖先
  9. python爬取了百万知乎,并做数据分析
  10. 大数据只做三件事,对用户的理解、对信息的理解、对关系的理解
  11. 获取父节点下的子节点 --- 递归
  12. Atitit.隔行换色  变色 css3 结构性伪类选择器
  13. AccelStepper步进电机库简介操控28BYJ-48步进电机
  14. 国内电视台播出的日本动画大盘点
  15. excel建立层级_Power Pivot财务科目(层级深度amp;筛选深度)
  16. Python爬链家网租房信息
  17. 经验分享 | 文献调研 - Connected Papers
  18. ORACLE 索引并行引起的direct path read temp和latch free等待导致进程数超过最大数
  19. 《Python编程从入门到实践 第2版》 最强入门Python书籍
  20. 5V电压ESD保护二极管,常用型号汇总

热门文章

  1. 【报告分享】2021防晒趋势白皮书-CBNData(附下载)
  2. LSM6DS3驱动编写——learn form sparkfun company
  3. 模型计算机控制器的逻辑设计,计算机组成原理和结构图式(第三章 CPU子系统—CPU模型的设计)...
  4. mac 装双系统 分区合并问题 彻底删除win10分区
  5. 华为耳机音量特别小解决方法
  6. 360n6pro刷鸿蒙系统,360N6和N6Pro通用刷机包MIUI9开发版V8.6.9紫火定制版
  7. 【ROBOGUIDE仿真】:基于ROBOGUIDE软件离线点动机器人
  8. 就很突然?程序员的发量不是秃头最多的?
  9. 数据链路——无线通信
  10. 超平面公式推导及理解