SlideShare ist ein Scribd-Unternehmen logo
1 von 29
 
放翁(文初)	
  
fangweng@taobao.com	
  
	
  
Outline	
  
s  Web请求异步化处理的实践	
  
 s  Web请求异步化的原因	
  
 s  异步化模式在开放平台的使用场景	
  




s  “海量”数据“即时”分析	
  
 s  “海量”、“即时”的需求背景	
  
 s  整体设计结构和思路	
  
 s  优化实践	
  
Web请求异步化的原因
            s  为什么要异步化?	
  
     渲染     	
  	
  	
  	
  	
  根本原因:容器线程利
     展示     用率不高。	
  
              s  业务处理天然异步化需
业务                求(业务处理消耗比较
处理                久,外部事件激发)	
  
      容器线     s  减少连接带来的消耗,
                  充分利用服务端并行处
       程          理能力	
  
              s  减少业务依赖不稳定对
                  容器线程资源的低效率
                  占用	
  
异步化模式在开放平台的使
     用场景
         框架控制串行化逻辑隔
         离	
  
         实际应用:服务降级,
         Beta发布	
  
         	
  
         	
  
         半异步化模式再次分配
         请求处理资源	
  
         	
  实际应用:服务隔离	
  
         	
  
         	
  
         并行任务执行,部分累
         加输出	
  
         	
  实际应用:batch	
  api	
  
         	
  
         	
  
         基于事件驱动,服务端
         异步消息推送	
  
         实际应用:streaming	
  
         api	
  
异步化模式在开放平台的使
                 用场景
管道化:	
  
	
  
1.串行逻辑非关键路径降级。	
  
2.框架级支持公用逻辑植入。
(log,lazy	
  parser,event	
  
driven,comet…)	
  
3.流程逻辑复用与隔离。	
  
	
  
	
  
异步化模式在开放平台的使
     用场景
异步化模式在开放平台的使
     用场景
异步化模式在开放平台的使
           用场景
服务隔离的效果




3,6,2	
  某一天三个时间段的淘客服务统计数据
异步化模式在开放平台的使
     用场景
异步化模式在开放平台的使
     用场景
“海量”、“即时”的需求背景

  现状               需求
                      应用维度分析



                      服务维度分析

 1台实体机器+12台
            虚拟机
       器
                     平台维度分析


    15亿(400G)
                  监控告警,趋势分
                           析
                    产出周期小于2分(结果
                             钟)
整体设计结构和思路
整体设计结构和思路


     Master:管理任务(分析任务),合
     并结果(Reduce),输出结果(全量
     统计,增量片段统计)

     Slave:Require	
  Job	
  +	
  Do	
  Job	
  +	
  Return	
  
     Result,随意加入,退出集群。

     Job:(Input	
  +	
  Analysis	
  Rule	
  +	
  Output)
     的定义。
整体设计结构和思路

•  后台系统任务分配:无负载分配算法,采用细化任务+工作者按需
   自取+粗暴简单任务重置策略。

•  Slave与Master采用单向通信,便于容量扩充和缩减。

•  Job自描述性:数据来源,分析规则,结果输出。异构化任务处理
   集群共享Slave。

•  数据存储无业务性,分析规则包含业务含义(优势在于可扩展,劣
   势在于全量扫描日志)

•  透明化整个集群运行状况,保证简单粗暴的方式下能够快速定位出
   节点问题或者任务问题。

•  Master单点采用冷备方式解决。(异步化外移状态,减少服务端状
   态数据)
整体设计结构和思路
Master                                         Slave




 数据量:2千万 -­‐-­‐>1亿 -­‐-­‐>8亿  -­‐-­‐>15亿。	
  
 报表输出结果:10份配置 -­‐-­‐>30份 -­‐-­‐>60份 -­‐-­‐>100份。	
  
 统计后的数据量:10k	
  	
  -­‐-­‐>10M	
  	
  -­‐-­‐>	
  9G。	
  
 统计周期的要求:1天 -­‐-­‐>5分钟 -­‐-­‐>3分钟 -­‐-­‐>1分半。
优化实践

纵向系统的工作的分担     1.平面化分担合并任务	
  
               2.中间结果输出,外部合并
优化实践

流程中间数据优化




    减少中间结果无                     节省带宽,
    用存储和处理                       内存,
                                 cpu



     压缩中间结果和内部      taobao.user.get—12132342—fangweng
     标识(可逆vs不可逆,
       算法vs对照表)      服务成功率=服务成功次数/服务总数
优化实践
         特殊化处理特殊的流程:
Master

         1.  简化序列化(已知序列化对象可简单化)	
  
         2.  减少内存申请,尽快释放处理后的数据	
  
         3.  减少中间过程的消耗
优化实践

特殊化处理特殊的流程:

<K,V>	
  	
  à	
  	
  Report	
  	
  =	
  N	
  *	
  <K,V>	
  group	
  by	
  	
  K	
  

                                                                                        KV	
  Pool1

                              apiName,apiTotalCount
                                                                                                      1.深度遍历+二维数组	
  
apiName,apiResponse
                                                               apiName,apiFailCount
                                                                                        KV	
  Pool2   	
  
                                                                                                      2.广度遍历+一维数组


                                                                                        KV	
  Pool3
                                       Report	
  
                    apiName,apiTotalCount,apiResponse,apiFailCount
优化实践

合并调度及磁盘内存互换的优化:	
  
                         合并数据是内存消耗重灾区:	
  
合并数据是内存消耗重灾区:	
          1.是否可以快速处理回收?	
  
1.合并前有大量数据挂接在接收          2.是否可以减少中间结果占用空
缓存列表上	
                  间	
  
2.合并过程会消耗大量的内存	
         3.是否可以释放主干,需要时载
3.合并后主干占用大量内存	
          入	
  
4.输出时占用大量内存              4.是否可以压缩和过滤
优化实践

合并调度及磁盘内存互换的优化:	
  
优化实践

磁盘内存互换的优化:	
  
                        消耗:	
  
                        主干载入和输出	
  
                        收益:	
  
                        周期内主干内存
                        释放(GC减少提
                        高速度)	
  
                        	
  
                        优化细节:	
  
                        1.载入最优时机	
  
                        2.输出内容压缩,
                        速度加快	
  
                        3.导出异步化	
  
                        4.	
  
优化实践


1.	
  	
  	
  	
  利用可横向扩展的系统来分担纵向扩展系统的工作。

2.	
  	
  	
  	
  流程中中间数据的优化处理。

3.	
  	
  	
  	
  特殊化处理可以特殊处理的流程。

4.	
  	
  	
  	
  从整体流程上考虑不同策略的消耗,提高整体处理能力。

5.	
  	
  	
  	
  资源的快用快放,提高同一类资源利用率。

6.	
  	
  	
  	
  不同阶段不同资源的互换,提高不同资源的利用率。	
  
附录


分析器:http://code.taobao.org/p/top-­‐analyzer/src/trunk/	
  
	
  
异步化:http://code.taobao.org/p/PipeComet/src/trunk/	
  
	
  
REST,logdrager:git://github.com/cenwenchu/PythonBox.git	
  
附图
附图
附图
附图
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践

Weitere ähnliche Inhalte

Was ist angesagt?

准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究Min Zhou
 
排队论及其应用浅析
排队论及其应用浅析排队论及其应用浅析
排队论及其应用浅析frogd
 
MySQL查询优化浅析
MySQL查询优化浅析MySQL查询优化浅析
MySQL查询优化浅析frogd
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010Chuanying Du
 
From Java Stream to Java DataFrame
From Java Stream to Java DataFrameFrom Java Stream to Java DataFrame
From Java Stream to Java DataFrameChen-en Lu
 
NoSQL-MongoDB介紹
NoSQL-MongoDB介紹NoSQL-MongoDB介紹
NoSQL-MongoDB介紹國昭 張
 
Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享alipay
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析frogd
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕ideawu
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoMin Zhou
 
Hadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introductionHadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introductionJinGui LI
 
5.6 nutshell - 性能优化
5.6 nutshell  - 性能优化5.6 nutshell  - 性能优化
5.6 nutshell - 性能优化Hui Liu
 
OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题everestsun
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Wei-Yu Chen
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现 云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现 july19850903
 
线上问题排查交流
线上问题排查交流线上问题排查交流
线上问题排查交流Edward Lee
 
服务器端性能优化
服务器端性能优化服务器端性能优化
服务器端性能优化cenwenchu
 
Hadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler IntroductionHadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler IntroductionHanborq Inc.
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研klandor
 

Was ist angesagt? (20)

准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究
 
排队论及其应用浅析
排队论及其应用浅析排队论及其应用浅析
排队论及其应用浅析
 
MySQL查询优化浅析
MySQL查询优化浅析MySQL查询优化浅析
MySQL查询优化浅析
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
 
From Java Stream to Java DataFrame
From Java Stream to Java DataFrameFrom Java Stream to Java DataFrame
From Java Stream to Java DataFrame
 
NoSQL-MongoDB介紹
NoSQL-MongoDB介紹NoSQL-MongoDB介紹
NoSQL-MongoDB介紹
 
Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享Spark在苏宁云商的实践及经验分享
Spark在苏宁云商的实践及经验分享
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at Taobao
 
Hadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introductionHadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introduction
 
5.6 nutshell - 性能优化
5.6 nutshell  - 性能优化5.6 nutshell  - 性能优化
5.6 nutshell - 性能优化
 
OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现 云计算环境中Ssd在cassandra测试的性能表现
云计算环境中Ssd在cassandra测试的性能表现
 
线上问题排查交流
线上问题排查交流线上问题排查交流
线上问题排查交流
 
服务器端性能优化
服务器端性能优化服务器端性能优化
服务器端性能优化
 
Hadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler IntroductionHadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler Introduction
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研
 

Andere mochten auch

腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角mysqlops
 
A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7Rawnet
 
Equação do 2º grau
Equação do 2º grauEquação do 2º grau
Equação do 2º graudemervalm
 
腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事mysqlops
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDLmysqlops
 
SpracheQuests- Bericht aus der Praxis
SpracheQuests- Bericht aus der PraxisSpracheQuests- Bericht aus der Praxis
SpracheQuests- Bericht aus der PraxisJustyna Sobota
 
Case Sudy - Marketing research
Case Sudy - Marketing researchCase Sudy - Marketing research
Case Sudy - Marketing researchIntuit Consultancy
 
Gutell 087.mpe.2003.29.0216
Gutell 087.mpe.2003.29.0216Gutell 087.mpe.2003.29.0216
Gutell 087.mpe.2003.29.0216Robin Gutell
 
Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)
Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)
Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)Rawnet
 
Rawnet Lightning Talk - Negative SEO - A Dirty Business!
Rawnet Lightning Talk -  Negative SEO - A Dirty Business!Rawnet Lightning Talk -  Negative SEO - A Dirty Business!
Rawnet Lightning Talk - Negative SEO - A Dirty Business!Rawnet
 
Combinar correspondencia
Combinar correspondenciaCombinar correspondencia
Combinar correspondencia37911
 

Andere mochten auch (20)

腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角腾讯产品运营之产品经理的视角
腾讯产品运营之产品经理的视角
 
The world of Janosch
The world of JanoschThe world of Janosch
The world of Janosch
 
Our school
Our schoolOur school
Our school
 
A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7
 
Computho
ComputhoComputho
Computho
 
Dica 013
Dica 013Dica 013
Dica 013
 
Equação do 2º grau
Equação do 2º grauEquação do 2º grau
Equação do 2º grau
 
腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事
 
Jugendquiz
JugendquizJugendquiz
Jugendquiz
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDL
 
Trabajo final de investigación
Trabajo final de investigaciónTrabajo final de investigación
Trabajo final de investigación
 
REF Letter
REF LetterREF Letter
REF Letter
 
SpracheQuests- Bericht aus der Praxis
SpracheQuests- Bericht aus der PraxisSpracheQuests- Bericht aus der Praxis
SpracheQuests- Bericht aus der Praxis
 
Buyers & Sellers
Buyers & SellersBuyers & Sellers
Buyers & Sellers
 
Case Sudy - Marketing research
Case Sudy - Marketing researchCase Sudy - Marketing research
Case Sudy - Marketing research
 
Gutell 087.mpe.2003.29.0216
Gutell 087.mpe.2003.29.0216Gutell 087.mpe.2003.29.0216
Gutell 087.mpe.2003.29.0216
 
Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)
Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)
Rawnet Lightning Talk - 'Why Content Marketing Sucks' (Pecha Kucha)
 
Rawnet Lightning Talk - Negative SEO - A Dirty Business!
Rawnet Lightning Talk -  Negative SEO - A Dirty Business!Rawnet Lightning Talk -  Negative SEO - A Dirty Business!
Rawnet Lightning Talk - Negative SEO - A Dirty Business!
 
Final Report v2-1
Final Report v2-1Final Report v2-1
Final Report v2-1
 
Combinar correspondencia
Combinar correspondenciaCombinar correspondencia
Combinar correspondencia
 

Ähnlich wie Web请求异步处理和海量数据即时分析在淘宝开放平台的实践

从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展Sky Jian
 
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba海量日志分析系统实践,Dba
海量日志分析系统实践,DbaCevin Cheung
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践drewz lin
 
openGauss DBMind.pdf
openGauss DBMind.pdfopenGauss DBMind.pdf
openGauss DBMind.pdfwot chin
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLei (Harry) Zhang
 
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum锐 张
 
纵览Loadrunner核心功能
纵览Loadrunner核心功能纵览Loadrunner核心功能
纵览Loadrunner核心功能beiyu95
 
百度 刘宁 系统也智慧
百度 刘宁 系统也智慧百度 刘宁 系统也智慧
百度 刘宁 系统也智慧guiyingshenxia
 
鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobao鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobaoterryice
 
新浪微博平台与安全架构
新浪微博平台与安全架构新浪微博平台与安全架构
新浪微博平台与安全架构n716
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战rfyiamcool
 
Sheepdog内部实现机制
Sheepdog内部实现机制Sheepdog内部实现机制
Sheepdog内部实现机制Liu Yuan
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Community
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon databoxu42
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍mysqlops
 

Ähnlich wie Web请求异步处理和海量数据即时分析在淘宝开放平台的实践 (20)

Aswan&hump
Aswan&humpAswan&hump
Aswan&hump
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展
 
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践
 
openGauss DBMind.pdf
openGauss DBMind.pdfopenGauss DBMind.pdf
openGauss DBMind.pdf
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
 
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum
 
纵览Loadrunner核心功能
纵览Loadrunner核心功能纵览Loadrunner核心功能
纵览Loadrunner核心功能
 
百度 刘宁 系统也智慧
百度 刘宁 系统也智慧百度 刘宁 系统也智慧
百度 刘宁 系统也智慧
 
鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobao鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobao
 
新浪微博平台与安全架构
新浪微博平台与安全架构新浪微博平台与安全架构
新浪微博平台与安全架构
 
Cdc@ganji.com
Cdc@ganji.comCdc@ganji.com
Cdc@ganji.com
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战
 
Sheepdog内部实现机制
Sheepdog内部实现机制Sheepdog内部实现机制
Sheepdog内部实现机制
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 

Mehr von mysqlops

The simplethebeautiful
The simplethebeautifulThe simplethebeautiful
The simplethebeautifulmysqlops
 
Oracle数据库分析函数详解
Oracle数据库分析函数详解Oracle数据库分析函数详解
Oracle数据库分析函数详解mysqlops
 
Percona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementPercona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementmysqlops
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationmysqlops
 
Percona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB ClusterPercona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB Clustermysqlops
 
Percona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationPercona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationmysqlops
 
Pldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internalsPldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internalsmysqlops
 
DBA新人的述职报告
DBA新人的述职报告DBA新人的述职报告
DBA新人的述职报告mysqlops
 
分布式爬虫
分布式爬虫分布式爬虫
分布式爬虫mysqlops
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践mysqlops
 
eBay EDW元数据管理及应用
eBay EDW元数据管理及应用eBay EDW元数据管理及应用
eBay EDW元数据管理及应用mysqlops
 
基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现mysqlops
 
eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析mysqlops
 
对MySQL DBA的一些思考
对MySQL DBA的一些思考对MySQL DBA的一些思考
对MySQL DBA的一些思考mysqlops
 
QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示mysqlops
 
MySQL数据库生产环境维护
MySQL数据库生产环境维护MySQL数据库生产环境维护
MySQL数据库生产环境维护mysqlops
 
MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规mysqlops
 
新浪微博开放平台Redis实战
新浪微博开放平台Redis实战新浪微博开放平台Redis实战
新浪微博开放平台Redis实战mysqlops
 

Mehr von mysqlops (20)

The simplethebeautiful
The simplethebeautifulThe simplethebeautiful
The simplethebeautiful
 
Oracle数据库分析函数详解
Oracle数据库分析函数详解Oracle数据库分析函数详解
Oracle数据库分析函数详解
 
Percona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementPercona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-management
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replication
 
Percona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB ClusterPercona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB Cluster
 
Percona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationPercona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimization
 
Pldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internalsPldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internals
 
DBA新人的述职报告
DBA新人的述职报告DBA新人的述职报告
DBA新人的述职报告
 
分布式爬虫
分布式爬虫分布式爬虫
分布式爬虫
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践
 
eBay EDW元数据管理及应用
eBay EDW元数据管理及应用eBay EDW元数据管理及应用
eBay EDW元数据管理及应用
 
基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现
 
eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析
 
对MySQL DBA的一些思考
对MySQL DBA的一些思考对MySQL DBA的一些思考
对MySQL DBA的一些思考
 
QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示
 
MySQL数据库生产环境维护
MySQL数据库生产环境维护MySQL数据库生产环境维护
MySQL数据库生产环境维护
 
Memcached
MemcachedMemcached
Memcached
 
DevOPS
DevOPSDevOPS
DevOPS
 
MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规
 
新浪微博开放平台Redis实战
新浪微博开放平台Redis实战新浪微博开放平台Redis实战
新浪微博开放平台Redis实战
 

Web请求异步处理和海量数据即时分析在淘宝开放平台的实践

  • 2. Outline   s  Web请求异步化处理的实践   s  Web请求异步化的原因   s  异步化模式在开放平台的使用场景   s  “海量”数据“即时”分析   s  “海量”、“即时”的需求背景   s  整体设计结构和思路   s  优化实践  
  • 3. Web请求异步化的原因 s  为什么要异步化?   渲染          根本原因:容器线程利 展示 用率不高。   s  业务处理天然异步化需 业务 求(业务处理消耗比较 处理 久,外部事件激发)   容器线 s  减少连接带来的消耗, 充分利用服务端并行处 程 理能力   s  减少业务依赖不稳定对 容器线程资源的低效率 占用  
  • 4. 异步化模式在开放平台的使 用场景 框架控制串行化逻辑隔 离   实际应用:服务降级, Beta发布       半异步化模式再次分配 请求处理资源    实际应用:服务隔离       并行任务执行,部分累 加输出    实际应用:batch  api       基于事件驱动,服务端 异步消息推送   实际应用:streaming   api  
  • 5. 异步化模式在开放平台的使 用场景 管道化:     1.串行逻辑非关键路径降级。   2.框架级支持公用逻辑植入。 (log,lazy  parser,event   driven,comet…)   3.流程逻辑复用与隔离。      
  • 8. 异步化模式在开放平台的使 用场景 服务隔离的效果 3,6,2  某一天三个时间段的淘客服务统计数据
  • 11. “海量”、“即时”的需求背景 现状 需求 应用维度分析 服务维度分析 1台实体机器+12台 虚拟机 器 平台维度分析 15亿(400G) 监控告警,趋势分 析 产出周期小于2分(结果 钟)
  • 13. 整体设计结构和思路 Master:管理任务(分析任务),合 并结果(Reduce),输出结果(全量 统计,增量片段统计) Slave:Require  Job  +  Do  Job  +  Return   Result,随意加入,退出集群。 Job:(Input  +  Analysis  Rule  +  Output) 的定义。
  • 14. 整体设计结构和思路 •  后台系统任务分配:无负载分配算法,采用细化任务+工作者按需 自取+粗暴简单任务重置策略。 •  Slave与Master采用单向通信,便于容量扩充和缩减。 •  Job自描述性:数据来源,分析规则,结果输出。异构化任务处理 集群共享Slave。 •  数据存储无业务性,分析规则包含业务含义(优势在于可扩展,劣 势在于全量扫描日志) •  透明化整个集群运行状况,保证简单粗暴的方式下能够快速定位出 节点问题或者任务问题。 •  Master单点采用冷备方式解决。(异步化外移状态,减少服务端状 态数据)
  • 15. 整体设计结构和思路 Master Slave 数据量:2千万 -­‐-­‐>1亿 -­‐-­‐>8亿  -­‐-­‐>15亿。   报表输出结果:10份配置 -­‐-­‐>30份 -­‐-­‐>60份 -­‐-­‐>100份。   统计后的数据量:10k    -­‐-­‐>10M    -­‐-­‐>  9G。   统计周期的要求:1天 -­‐-­‐>5分钟 -­‐-­‐>3分钟 -­‐-­‐>1分半。
  • 16. 优化实践 纵向系统的工作的分担 1.平面化分担合并任务   2.中间结果输出,外部合并
  • 17. 优化实践 流程中间数据优化 减少中间结果无 节省带宽, 用存储和处理 内存, cpu 压缩中间结果和内部 taobao.user.get—12132342—fangweng 标识(可逆vs不可逆, 算法vs对照表) 服务成功率=服务成功次数/服务总数
  • 18. 优化实践 特殊化处理特殊的流程: Master 1.  简化序列化(已知序列化对象可简单化)   2.  减少内存申请,尽快释放处理后的数据   3.  减少中间过程的消耗
  • 19. 优化实践 特殊化处理特殊的流程: <K,V>    à    Report    =  N  *  <K,V>  group  by    K   KV  Pool1 apiName,apiTotalCount 1.深度遍历+二维数组   apiName,apiResponse apiName,apiFailCount KV  Pool2   2.广度遍历+一维数组 KV  Pool3 Report   apiName,apiTotalCount,apiResponse,apiFailCount
  • 20. 优化实践 合并调度及磁盘内存互换的优化:   合并数据是内存消耗重灾区:   合并数据是内存消耗重灾区:   1.是否可以快速处理回收?   1.合并前有大量数据挂接在接收 2.是否可以减少中间结果占用空 缓存列表上   间   2.合并过程会消耗大量的内存   3.是否可以释放主干,需要时载 3.合并后主干占用大量内存   入   4.输出时占用大量内存 4.是否可以压缩和过滤
  • 22. 优化实践 磁盘内存互换的优化:   消耗:   主干载入和输出   收益:   周期内主干内存 释放(GC减少提 高速度)     优化细节:   1.载入最优时机   2.输出内容压缩, 速度加快   3.导出异步化   4.  
  • 23. 优化实践 1.        利用可横向扩展的系统来分担纵向扩展系统的工作。 2.        流程中中间数据的优化处理。 3.        特殊化处理可以特殊处理的流程。 4.        从整体流程上考虑不同策略的消耗,提高整体处理能力。 5.        资源的快用快放,提高同一类资源利用率。 6.        不同阶段不同资源的互换,提高不同资源的利用率。