狠狠撸

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

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




                       1
目录

?罢翱笔背景介绍

?罢翱笔整体架构介绍

?罢翱笔架构设计实例分享

?罢翱笔商业驱动模式介绍

                2
罢翱笔背景介绍




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


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


           Taobao Open Platform



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



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



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


                                   TOP ID

                               集团子公司业务合作                                5
合作
罢翱笔架构设计实例分享
?服务访问控制策略
        ? 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




   IM Server         APP
罢翱笔架构设计实例分享

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



              Service
APP     TOP
              Provider

                               业务数据交换通道   Service
                         APP
                                          Provider




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

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

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

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

             ? 请求埋点数据收集

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

             ? 缓存计数

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




                                  10
罢翱笔架构设计实例分享
?TOPID(开放用户)        外部网店
                           集团

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

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




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

 ?处理模式进化:


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


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



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




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




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

       Memcached
         cache




                   Config
                            支持集群
                   Server   的分布式
                             缓存
     Cluster
     Support
      Client
罢翱笔架构设计实例分享
罢翱笔架构设计实例分享
?   集群数据固化问题
     – 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
罢翱笔商业驱动模式介绍
                                         End User


        插件分成
                                                AppStore订购



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




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




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

More Related Content

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