Cyh的博客

Email:kissyan4916@163.com
posts - 26, comments - 19, trackbacks - 0, articles - 220

淘宝网有很多业务,这些业务涉及交易、商品、产品、物流、用户、类目等多种数据,它们关系如下图所示:

这些数据来源中,需要一定处理周期的数据需要去请求搜索引擎或者某些分析系统,访问量非常大的需要完全在本地预加载(如类目数据),还有来自内部的各种业务子系统提供的远程访问接口。

由于系统平台的不同,编程语言的不同,外加历史演化等等各种因素,导致目前淘宝内部的传输协议(或框架)也不尽相同,有目前在淘宝内部广泛使用的hsf(high speed framework)分布式调用框架;有历史遗留下来的hessian,rmi等java编程常用的协议,也有直接访问自定义格式的http接口。

那么问题就产生了,如何才能简单的把各种数据接口变成给开发者使用的json,xml格式的api接口呢?这里用一个图来描述下目前淘宝内部的api生成机制:

API路由系统获得开发人员提交的API定义文件后,它就知道远程服务的位置和传输协议,由于路由系统没有远程服务的接口客户端,它需要根据定义文件定义的远程服务需要的请求参数,把他转成合适的传输协议输送过去,远程服务接口获取这些数据后根据淘宝的API协议引擎生成真正的调用参数,获取调用结果后转成最终的json/xml协议,然后输送回路由系统,由路由系统响应给应用程序。

本文比较简单的描述了一下目前TOP(淘宝开放平台)内部和API相关的原理,具体细节请等待后续文章。

本文作者:王霖(自雪)

延伸阅读:

淘宝开放平台开发指南之快速入门

淘宝TOP开放平台开发指南之API是如何诞生的

淘宝开放平台TOP开发指南之解密TOP的认证授权机制(一)

淘宝开放平台TOP开发指南之架构组件体系介绍

淘宝开放平台开发指南之淘宝动力开发者持续盈利的魔力

淘宝开放平台开发指南之TOP的盈利模式

淘宝开放平台开发指南之解密TOP服务分流与隔离



                                                                                                       --    学海无涯