SlideShare a Scribd company logo
淘宝开放平台架构设计与实践
       岑文初(放翁)
       日期:2009-08-20

       部门:技术研发部-平台架构




                       1
目录

•TOP背景介绍

•TOP整体架构介绍

•TOP架构设计实例分享

•TOP商业驱动模式介绍

                2
TOP背景介绍




          3
TOP背景介绍
                   工具海
独立网店                          新业态
        社区电子商务


                   开发者   …    开发者
          开发者
                                    开发者
  开发者


           Taobao Open Platform



         对外,开发者是TOP合作方,共同服务大淘宝的终端客户
         对内,TOP与各个业务线合作,一起协同开放
                                          4
TOP整体架构介绍
       Taobao.com                        大淘宝
入口                   购物搜索                             工具搜索



                                                                  新业务
      资   淘   淘      其      独立网店         社区电子商务       第三方工具
                                                                  及其他
      讯   宝   宝      他
业务    导   集   商      业
      购   市   城      务       App 提供:                  App Store
                                    Open.taobao.com



      Taobao Open Platform = TOP
TOP       Open API       TBML (数据标签语言)      开放式插件平台        接入标准


                                   TOP ID

                               集团子公司业务合作                                5
合作
TOP架构设计实例分享
•服务访问控制策略
        • Level & Status
 App    • Frequency, Order


        • Token(request , session, session with fix time)
 User   • Frequency

        • Four Level(None, APP, User, Optional User)
 API    • REST & RPC(Operation Control)


                                                            6
TOP架构设计实例分享
• 服务访问控制策略

               TOP




   IM Server         APP
TOP架构设计实例分享

      •服务处理机制
        •大数据交互服务
                                 TOP



              Service
APP     TOP
              Provider

                               业务数据交换通道   Service
                         APP
                                          Provider




                                                     8
TOP架构设计实例分享
• 异步交互服务 & 通知服务
 • 保持会话,支持异步响应。(短信服务)

 • 异步延时服务。(大数据量信息返回)

 • 订阅关系维护,支持通知服务。(系统间数据同步)
TOP架构设计实例分享
•API的监控
             • 异步数据库分表记录

      三级监控   • 每日任务导出,分布式计算框架中计
               算分析
             • 监控访问趋势增长,服务性能瓶颈

             • 请求埋点数据收集

      二级监控   • 本地日志增量传输或异步数据批量传
               递
             • 监控平均响应时间,峰值请求次数等

             • 缓存计数

      一级监控   • 阀值设置,多手段告警
             • 监控访问频率及服务响应时间




                                  10
TOP架构设计实例分享
•TOPID(开放用户)        外部网店
                           集团

 •服务串联         淘宝
  •服务请求流程化
                           外部网站

 •令牌互通
  •身份认证,用户授权        新业态
  •信用体系建立




                                  11
TOP架构设计实例分享
• TBML
 – 产生原因
   •   数据隐私性
   •   开发便利性
   •   业务升级透明化
   •   监控全局化
   •   开发标准化
 – 作用
   • 数据操作可控,保护终端用户隐私(结合cookie和标签,控制ISV业务数据操
     作尺度,提高数据安全性)
   • 提供标准业务流程标签,简化开发者对于业务流程理解过程。
   • 标签化接口方式,完成数据获取和页面渲染,后台业务升级对ISV透明化。
   • 标签获取客户端信息,将监控扩展到整个业务请求过程。
   • 制定行业化标签库,形成统一开发标准
TOP架构设计实例分享
•服务分流与隔离
 •原因:服务简单负载均衡造成服务互相影响。(根本原因
 是服务的质量直接影响TOP处理能力和资源分配)

 •处理模式进化:


                  软负载&虚
  二级域名      软负载
                  拟服务组


                              13
TOP架构设计实例分享
•服务分流与隔离
        • 隔离效果明显
        • 配制僵化
        • 性能基本无损失
 二级域名



        • 隔离效果明显
        • 配制可手动运行期扩展
 软负载    • 性能有损失




       • 隔离效果一般
       • 可推送配制,动态调整集群组
软负载&服务 • 性能损失小
 虚拟组




                         14
TOP架构设计实例分享
TOP架构设计实例分享
•支持集群可动态扩展的缓存客户端
 •缓存在TOP中作用
   a. 业务数据缓存,加速业务处理速度(上下文缓存)
   b. 计数器+黑名单,安全控制策略实现
   c. 细粒度计数器,支持监控
   d. 用户授权,异步请求会话存储
 •存在问题
   a. 数据固化(用户授权数据)
   b. 集群支持,可动态扩展和变更配置
   c. 性能消耗(网络交互)
                               16
TOP架构设计实例分享
• 换个角度看问题:

       Memcached
         cache




                   Config
                            支持集群
                   Server   的分布式
                             缓存
     Cluster
     Support
      Client
TOP架构设计实例分享
TOP架构设计实例分享
•   集群数据固化问题
     – Other Server support Protocol(memcached db)
     – Customize Adapter
•   集群节点负载均衡
     – 节点内与节点间负载均衡(权重,Hash算法)
•   集群节点数据同步
     – Key node & Lazy Task Queue
     – Failure node recover Data (standby or active mode)
•   集群节点动态扩容
     – Config pull or push form Config Server
     – Cluster data move(主动 or 被动)
•   性能消耗
     – Local Cache + Remote Cache.(Local data clean policy)
     – Protocol extend support compression or incremental modify
TOP商业驱动模式介绍
                                         End User


        插件分成
                                                AppStore订购



开发者按业务分类
淘宝插件                免费TOP外部插件            收费应用                        自用型应用
 店铺插件     淘宝SNS插件    社区插件    外部SNS插件      客户端   独立WEB应用      新平台应用   独立网店 社区站点 导购网站




                           淘宝客API 流量收费                                           淘宝客API
        插件分成        动态广告                            流量收费             流量收费   商家入驻 盈利模式
                           盈利模式




                                         TOP
岑文初:淘宝开放平台架构设计与实践

More Related Content

What's hot

DS-012-產品設計與製程選擇
DS-012-產品設計與製程選擇DS-012-產品設計與製程選擇
DS-012-產品設計與製程選擇
handbook
 
PXI, LabVIEW事例集2
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2
nishimizu
 
Web技術勉強会11回目
Web技術勉強会11回目Web技術勉強会11回目
Web技術勉強会11回目
龍一 田中
 
Internet Ued Process
Internet Ued ProcessInternet Ued Process
Internet Ued Process
rex song
 
創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘
創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘
創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘
taiwanweb20
 
Opportunity Magazine 2008-10-01 Vol.2
Opportunity Magazine 2008-10-01 Vol.2Opportunity Magazine 2008-10-01 Vol.2
Opportunity Magazine 2008-10-01 Vol.2
opportunity service
 
Opportunity Magazine 2008-09-29 Vol.1
Opportunity Magazine 2008-09-29 Vol.1Opportunity Magazine 2008-09-29 Vol.1
Opportunity Magazine 2008-09-29 Vol.1
opportunity service
 
Ds 036 標準與專利檢索
Ds 036 標準與專利檢索Ds 036 標準與專利檢索
Ds 036 標準與專利檢索
handbook
 
Opportunity Magazine 2008-10-13 Vol.4
Opportunity Magazine 2008-10-13 Vol.4Opportunity Magazine 2008-10-13 Vol.4
Opportunity Magazine 2008-10-13 Vol.4
opportunity service
 
Opportunity Magazine 2008-12-01 Vol.6
Opportunity Magazine 2008-12-01 Vol.6Opportunity Magazine 2008-12-01 Vol.6
Opportunity Magazine 2008-12-01 Vol.6
opportunity service
 
個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用
個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用
個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用
勝輝 周
 
慣れない言語で 車輪の再発明をしよう〜JavaScriptでツリーソート編〜
慣れない言語で車輪の再発明をしよう〜JavaScriptでツリーソート編〜慣れない言語で車輪の再発明をしよう〜JavaScriptでツリーソート編〜
慣れない言語で 車輪の再発明をしよう〜JavaScriptでツリーソート編〜
Hiromu Shioya
 
第4章 作業系統 (Update)
第4章 作業系統 (Update)第4章 作業系統 (Update)
第4章 作業系統 (Update)
Seng Chi Ao
 

What's hot (20)

DS-012-產品設計與製程選擇
DS-012-產品設計與製程選擇DS-012-產品設計與製程選擇
DS-012-產品設計與製程選擇
 
PXI, LabVIEW事例集2
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2
 
Web技術勉強会11回目
Web技術勉強会11回目Web技術勉強会11回目
Web技術勉強会11回目
 
如何更好的利用网络
如何更好的利用网络如何更好的利用网络
如何更好的利用网络
 
product manager handbook study
product manager handbook studyproduct manager handbook study
product manager handbook study
 
Internet Ued Process
Internet Ued ProcessInternet Ued Process
Internet Ued Process
 
interaction desgin
interaction desgininteraction desgin
interaction desgin
 
創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘
創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘
創業家研習營-Web 2.0社群經營,愛情公寓/創辦人 林志銘
 
Opportunity Magazine 2008-10-01 Vol.2
Opportunity Magazine 2008-10-01 Vol.2Opportunity Magazine 2008-10-01 Vol.2
Opportunity Magazine 2008-10-01 Vol.2
 
Opportunity Magazine 2008-09-29 Vol.1
Opportunity Magazine 2008-09-29 Vol.1Opportunity Magazine 2008-09-29 Vol.1
Opportunity Magazine 2008-09-29 Vol.1
 
Ds 036 標準與專利檢索
Ds 036 標準與專利檢索Ds 036 標準與專利檢索
Ds 036 標準與專利檢索
 
中国网络审查
中国网络审查中国网络审查
中国网络审查
 
Opportunity Magazine 2008-10-13 Vol.4
Opportunity Magazine 2008-10-13 Vol.4Opportunity Magazine 2008-10-13 Vol.4
Opportunity Magazine 2008-10-13 Vol.4
 
Opportunity Magazine 2008-12-01 Vol.6
Opportunity Magazine 2008-12-01 Vol.6Opportunity Magazine 2008-12-01 Vol.6
Opportunity Magazine 2008-12-01 Vol.6
 
新生說明會_slide
新生說明會_slide新生說明會_slide
新生說明會_slide
 
個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用
個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用
個人知識管理達人 淺談提升個人效率的方法及規劃工具的使用
 
慣れない言語で 車輪の再発明をしよう〜JavaScriptでツリーソート編〜
慣れない言語で車輪の再発明をしよう〜JavaScriptでツリーソート編〜慣れない言語で車輪の再発明をしよう〜JavaScriptでツリーソート編〜
慣れない言語で 車輪の再発明をしよう〜JavaScriptでツリーソート編〜
 
王峰:阿里搜索实时流计算技术
王峰:阿里搜索实时流计算技术王峰:阿里搜索实时流计算技术
王峰:阿里搜索实时流计算技术
 
第4章 作業系統 (Update)
第4章 作業系統 (Update)第4章 作業系統 (Update)
第4章 作業系統 (Update)
 
毕业设计-Slide
毕业设计-Slide毕业设计-Slide
毕业设计-Slide
 

More from XMourinho

叶金荣:MySql优化 20090828 系统架构师大会
叶金荣:MySql优化 20090828 系统架构师大会叶金荣:MySql优化 20090828 系统架构师大会
叶金荣:MySql优化 20090828 系统架构师大会
XMourinho
 
乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829
XMourinho
 
邵宗文:数据库极限性能测试修正版
邵宗文:数据库极限性能测试修正版邵宗文:数据库极限性能测试修正版
邵宗文:数据库极限性能测试修正版
XMourinho
 
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
XMourinho
 
程立:面向生产环境的Soa系统设计
程立:面向生产环境的Soa系统设计程立:面向生产环境的Soa系统设计
程立:面向生产环境的Soa系统设计
XMourinho
 
陈吉平:高可用分布式数据库系统架构实践
陈吉平:高可用分布式数据库系统架构实践陈吉平:高可用分布式数据库系统架构实践
陈吉平:高可用分布式数据库系统架构实践
XMourinho
 
徐景春:企业级开源数据库灾备体系
徐景春:企业级开源数据库灾备体系徐景春:企业级开源数据库灾备体系
徐景春:企业级开源数据库灾备体系
XMourinho
 

More from XMourinho (7)

叶金荣:MySql优化 20090828 系统架构师大会
叶金荣:MySql优化 20090828 系统架构师大会叶金荣:MySql优化 20090828 系统架构师大会
叶金荣:MySql优化 20090828 系统架构师大会
 
乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829
 
邵宗文:数据库极限性能测试修正版
邵宗文:数据库极限性能测试修正版邵宗文:数据库极限性能测试修正版
邵宗文:数据库极限性能测试修正版
 
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
 
程立:面向生产环境的Soa系统设计
程立:面向生产环境的Soa系统设计程立:面向生产环境的Soa系统设计
程立:面向生产环境的Soa系统设计
 
陈吉平:高可用分布式数据库系统架构实践
陈吉平:高可用分布式数据库系统架构实践陈吉平:高可用分布式数据库系统架构实践
陈吉平:高可用分布式数据库系统架构实践
 
徐景春:企业级开源数据库灾备体系
徐景春:企业级开源数据库灾备体系徐景春:企业级开源数据库灾备体系
徐景春:企业级开源数据库灾备体系
 

岑文初:淘宝开放平台架构设计与实践

  • 1. 淘宝开放平台架构设计与实践 岑文初(放翁) 日期:2009-08-20 部门:技术研发部-平台架构 1
  • 4. TOP背景介绍 工具海 独立网店 新业态 社区电子商务 开发者 … 开发者 开发者 开发者 开发者 Taobao Open Platform 对外,开发者是TOP合作方,共同服务大淘宝的终端客户 对内,TOP与各个业务线合作,一起协同开放 4
  • 5. TOP整体架构介绍 Taobao.com 大淘宝 入口 购物搜索 工具搜索 新业务 资 淘 淘 其 独立网店 社区电子商务 第三方工具 及其他 讯 宝 宝 他 业务 导 集 商 业 购 市 城 务 App 提供: App Store Open.taobao.com Taobao Open Platform = TOP TOP Open API TBML (数据标签语言) 开放式插件平台 接入标准 TOP ID 集团子公司业务合作 5 合作
  • 6. TOP架构设计实例分享 •服务访问控制策略 • Level & Status App • Frequency, Order • Token(request , session, session with fix time) User • Frequency • Four Level(None, APP, User, Optional User) API • REST & RPC(Operation Control) 6
  • 8. TOP架构设计实例分享 •服务处理机制 •大数据交互服务 TOP Service APP TOP Provider 业务数据交换通道 Service APP Provider 8
  • 9. TOP架构设计实例分享 • 异步交互服务 & 通知服务 • 保持会话,支持异步响应。(短信服务) • 异步延时服务。(大数据量信息返回) • 订阅关系维护,支持通知服务。(系统间数据同步)
  • 10. TOP架构设计实例分享 •API的监控 • 异步数据库分表记录 三级监控 • 每日任务导出,分布式计算框架中计 算分析 • 监控访问趋势增长,服务性能瓶颈 • 请求埋点数据收集 二级监控 • 本地日志增量传输或异步数据批量传 递 • 监控平均响应时间,峰值请求次数等 • 缓存计数 一级监控 • 阀值设置,多手段告警 • 监控访问频率及服务响应时间 10
  • 11. TOP架构设计实例分享 •TOPID(开放用户) 外部网店 集团 •服务串联 淘宝 •服务请求流程化 外部网站 •令牌互通 •身份认证,用户授权 新业态 •信用体系建立 11
  • 12. TOP架构设计实例分享 • TBML – 产生原因 • 数据隐私性 • 开发便利性 • 业务升级透明化 • 监控全局化 • 开发标准化 – 作用 • 数据操作可控,保护终端用户隐私(结合cookie和标签,控制ISV业务数据操 作尺度,提高数据安全性) • 提供标准业务流程标签,简化开发者对于业务流程理解过程。 • 标签化接口方式,完成数据获取和页面渲染,后台业务升级对ISV透明化。 • 标签获取客户端信息,将监控扩展到整个业务请求过程。 • 制定行业化标签库,形成统一开发标准
  • 14. TOP架构设计实例分享 •服务分流与隔离 • 隔离效果明显 • 配制僵化 • 性能基本无损失 二级域名 • 隔离效果明显 • 配制可手动运行期扩展 软负载 • 性能有损失 • 隔离效果一般 • 可推送配制,动态调整集群组 软负载&服务 • 性能损失小 虚拟组 14
  • 16. TOP架构设计实例分享 •支持集群可动态扩展的缓存客户端 •缓存在TOP中作用 a. 业务数据缓存,加速业务处理速度(上下文缓存) b. 计数器+黑名单,安全控制策略实现 c. 细粒度计数器,支持监控 d. 用户授权,异步请求会话存储 •存在问题 a. 数据固化(用户授权数据) b. 集群支持,可动态扩展和变更配置 c. 性能消耗(网络交互) 16
  • 17. TOP架构设计实例分享 • 换个角度看问题: Memcached cache Config 支持集群 Server 的分布式 缓存 Cluster Support Client
  • 19. TOP架构设计实例分享 • 集群数据固化问题 – Other Server support Protocol(memcached db) – Customize Adapter • 集群节点负载均衡 – 节点内与节点间负载均衡(权重,Hash算法) • 集群节点数据同步 – Key node & Lazy Task Queue – Failure node recover Data (standby or active mode) • 集群节点动态扩容 – Config pull or push form Config Server – Cluster data move(主动 or 被动) • 性能消耗 – Local Cache + Remote Cache.(Local data clean policy) – Protocol extend support compression or incremental modify
  • 20. TOP商业驱动模式介绍 End User 插件分成 AppStore订购 开发者按业务分类 淘宝插件 免费TOP外部插件 收费应用 自用型应用 店铺插件 淘宝SNS插件 社区插件 外部SNS插件 客户端 独立WEB应用 新平台应用 独立网店 社区站点 导购网站 淘宝客API 流量收费 淘宝客API 插件分成 动态广告 流量收费 流量收费 商家入驻 盈利模式 盈利模式 TOP