ImageVerifierCode 换一换
格式:PDF , 页数:7 ,大小:1.27MB ,
资源ID:3176729      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3176729.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(淘宝技术架构分享.pdf)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

淘宝技术架构分享.pdf

1、淘宝技术架构分享 中文网站技术部-B2C 商城-郎中锋【花名:八神】Email:zhongfeng.langzfalibaba- 一,淘宝技术架构 1.淘宝整体网络架构:我介绍下图中提到的各个系统缩写是神马意思:1.UIC:用户中心(User Interface Center),提供所有用户信息相关的读写服务,如基本信息,扩展信息,社区信息,买卖家信用等级等等。淘宝现在有两类卖家 B 和 C,这是通过在用户身上打不同的标签实现的,我们这次的无名良品卖家也是通过在用户身上打特殊的标签来区别于淘宝已有的 B 和 C 类卖家。淘宝的 TOP 平台已经开放了大部分的 UIC 接口。2.IC:商品中心(

2、Item Center),提供所有商品信息的读写服务,比如新发商品,修改商品,删除商品,前后台读取商品相关信息等等,IC 是淘宝比较核心的服务模块,有专门的产品线负责这块内容,IC 相关接口在 TOP 中占的比重也比较大。3.SC:店铺中心(Shop Center),类似中文站的旺铺,不过淘宝的 SC 不提供页面级应用,提供的都是些远程的服务化的接口,提供店铺相关信息的读写操作。如:开通店铺,店铺首页,及 detail 页面店铺相关信息获取,如店内类目,主营,店铺名称,店铺级别:如普通,旺铺,拓展版,旗舰版等等。装修相关的业务是 SC 中占比重较大的一块,现在慢慢的独立为一个新的服务化中心 D

3、C(design center),很多的前台应用已经通过直接使用 DC 提供的服务化接口直接去装修相关的信息。ABTN网络店铺商城互动社区无线DNS淘宝接入层交换机LB设备GTM分流商品淘宝前端应用HSF接口UICICSCTCPCForest 推送给“淘宝前端应用”淘宝共享服务打点/埋点日志DW部门数据处理Search接口LB配置TDDL/读写分离Ibatis接口MysqlOracle数据库系统SPU搜索大C搜索实时搜索搜索搜索引擎系统Dump中心Build索引分发索引文件TDBMTairTFS快照数据共享系统Search 接口DNSCDN系统LB设备静态页面图片站点缓存淘 宝 用 户 群二级

4、缓存图片淘 宝 客 户 群淘宝直通车广告DBDump数据Build索引数据广告检索系统JS调用广告展示广告点击消费计费系统淘宝广告系统 4.TC:交易中心(Trade Center),提供从创建交易到确认收货的正 向交易流程服务,也提供从申请退款到退款完成的反向交易流程服务.5.PC:促销中心(Promotion Center),提供促销产品的订购,续费,查询,使用相关的服务化接口,如:订购和使用旺铺,满就送,限时秒杀,相册,店铺统计工具等等。6.Forest:淘宝类目体系:提供淘宝前后台类目的读写操作,以及前后台类目的关联操作。7.Tair:淘宝的分布式缓存方案,和中文站的 Memcache

5、d 很像。其实也是对 memcached 的二次封装加入了淘宝的一些个性化需求。8.TFS:淘宝分布式文件存储方案(TB File System),专门用户处理静态资源存储的方案,淘宝所有的静态资源,如图片,HTML 页面,文本文件,页面大段的文本内容如:产品描述,都是通过 TFS 存储的。具体设计和优缺点会在下面详细介绍。9.TDBM:淘宝 DB 管理中心(TB DB Manager),淘宝数据库管理中心,提供统一的数据读写操作,具体设计在下面详细介绍。10.RC:评价中心(Rate center),提供评价相关信息的读写服务,如评价详情,DSR 评分等信息的写度服务。11.HSF:淘宝的远

6、程服务调用框架和平台的 Dubbo 功能类似,不过部署方式上有较大差异,所有的服务接口都通过对应的注册中心(config center)获取。2.淘宝服务化架构:用户:淘宝用户分两类:买家和卖家,不过很多的卖家也会在淘宝买东西,所以他们既是卖家也是买家,因此最好是按照用户行为分:卖家行为和买家行为。买卖家行为都会涉及的系统包括:店铺,商城,交易,商品,社区等等。涉及到的功能有较大差异:客户(卖和买)店铺商城社区商品交易无线无名良品前台系统:直接和用户打交道,它们依赖于各种核心业务中心提供的服务化接口,淘宝服务化 做的比较早,相对B2B来说比较成熟,这种高度服务化的方式有三点好处:(1)搭建新应

7、用很敏捷,所需要做的就是:整理业务流 组装服务化接口 渲染页面(2)增强应用健壮性,只要保证服务化接口的稳定性容灾性,前台应用调用基本都不会有大的故障(3)服务化接口把类似的业务接口抽象的很纯粹,使得性能观察和优化更有针对性,更专注!SC店铺中心DC装修中心TC交易中心UIC用户中心RC评价中心PC促销中心Forest类目体系IC商品中心HSF远程调用框架Tair分布式cacheTDBM数据库管理TFS分布式存储Config注册中心基础服务:提供最基础的共享服务,这些服务中心提供的功能基本与业务无关。基本上这些服务在B2B都有,只是名字不一样而已,大体的功能也类似,不过实现方式有差异,会在下面

8、具体做介绍。商城搜索集市搜索SPU搜索实时搜索搜索服务:提供前台和后台系统搜索服务1.来源:数据主要来自上面的核心业务服务接口,由业务接口通过tddl(淘宝的数据库分库架构类似B2B的corba)同步数据到DB(oracle&mysql),然后dump数据到搜索。2.去处:包括两方面:前台集市搜索,spu搜索,商城搜索,社区搜索等后台-crm实时搜索,类目List等核心业务服务:提供各种核心业务模块的服务化接口,接口按使用方式分两类:(1)通过HSF方式调用的远程服务化接口(2)通过定期推送服务端数据文件到客户端的CS调用图中:蓝色标注的系统的部分接口使用第二中方式调用,其他系统基本都是基于H

9、SF方式的远程调用。.(1)卖家行为:主要定位在个人后台,且主要定位在后台的“我是卖家”TAB 页下的功能,包括:店铺管理,商品管理,订单管理,服务订购和使用,广告系统,社区发帖,淘宝客等等,前台浏览相对使用较少。(2)买家行为:集中在前台:店铺浏览,宝贝的浏览,社区浏览等比重较大,买家后台功能主要定位在后台的“我是买家”Tab 页下,包括拍商品,付款,确认,退款,评价,社区互动等。产品:淘宝对产品定义和 B2B 有差别,淘宝的业务拆分较细,服务化做的较成熟,所以前台应用对应的业务非常纯粹,如 Detail 系统可能就一个 detail 页面,无数据库连接,所有数据来自底层的各种服务化中心,功

10、能专一逻辑清晰纯粹,不过也正因为这样,淘宝的一个产品可能是分布在多个应用系统中,单个应用很难称为一个产品。淘宝更喜欢用产品线的概念,往往是一个团队负责一条产品线,跨几个功能纯粹的应用,如:商品线 交易线 店铺线 江湖线 商城线等。二.淘宝服务化进程 罗马非一日建成,上面看到的相对成熟的服务化中心也是在淘宝业在务发展过程中不断的遇到问题,解决问题的过程中沉淀下来的,下面给大家简单图示下淘宝的服务化进程:I最初的淘宝应用架构状况:业务高度耦合,不同的功能模块基本都糅合在一个系统中,错综复杂,很有 exodus2 当初的味道啊!II随着业务发展,抽提部分核心业务之后的状态:对前台业务做了切分,抽提了

11、部分核心业务成为独立的服务化提供中心。不过抽提的业务较少,这个阶段缺少对不同层的针对性优化,比如监控,容灾,事务等等 III大规模使用 HSF,服务化相对成熟之后的状况:前端应用高度分化,拆分成一个个功能单一的应用系统,后端服务化接口也划分的较细同时针对不同业务和具体的技术实现做个性化优化,增强了各个节点的健壮性,高效性。通过上面的几张图可以明显的看出服务化给整个系统架构带来的好处:(1)应用间的耦合降低,在服务化接口成熟的情况下,扩展新的业务需求变得方便,主要就是一个组合服务化接口的过程。(2)开发人员可以专心关注业务,而不用考虑分布式领域中的各种细节技术,例如远程通讯、性能损耗、调用的透明

12、化、同步/异步调用方式的实现等等问题。(3)各个系统负责的业务更纯粹,方便做针对新的性能调优和功能改进:如容灾性,并发,监控等方面的优化。这种针对性有助于增强系统的高性能,高健壮。三,淘宝服务化利器-HSF 前台应用和核心业务层由于和业务结合比较紧密,篇幅限制这里就不展开讲了,后续会有针对各个细节业务和技术的分享,下面主要说说服务化中最重要的基础技术架构:HSF(淘宝远程服务调用框架),并附实例做说说它们的使用方式。(1)HSF 是神马?High-Speed Service Framework 淘宝的高速远程调用框架,类似中文站的 Dubbo,基于 Mina 框架开发,它是淘宝应用从集中式走入

13、大型分布式的基础支撑。使开发人员无需过多的关注应用是集中式的,还是分布式的,可以更加专注于应用的业务需求的实现,这些纯技术的需求都由 HSF 来解决。(2)HSF 的系统架构 I.HSF 交互场景图 客户端(消费端)从配置中心获取服务端地址列表和服务端建立连接开始远程调用服务端更新通过 notify(类似 B2B 的 naplio)系统通知客户端。服务端和客户端都有对应的监控中心,实时监控服务状态。客户端,配置中心,服务端,notify,之间的通信都是通过 TB Remotion API 去搞定的。II.TB Remoting 架构图 底层基于分布式框架 Mina,主要的代码都是通过B2B 的

14、 Dubbo 也是基于这个 NIO 框架的。Mina宝根据自身的需求做了一些封装,如果对这块感兴趣(3)HSF 的工作原理:淘宝的 HSF 在使用方式上面和 Dubbo 有比较大的区别做的好处是:hsf 的升级不需要应用做改动,方便统一升级统一管理版本也有要求,这也是当初 Dubbo 没有完全参考 hsf1.1.HSF部署模型 下图 HSF 部署模型:使用之前,需要拷贝淘宝提供的SAR 文件 download URL:http:/ 发布和订阅服务和调用 主要的代码都是通过 NIO 实现的。关于 Mina 的具体实现大家可以 google,篇幅限制不细讲.Mina 上层封装的事件扩展,连接管理,

15、线程池管理,序列化,包括最上面的 Faade如果对这块感兴趣可以看看 HSF 的源码,需要的可以联系我!有比较大的区别,HSF 使用的时候需要单独的下载一个 hsf.sar 文件放置到 jboss 的方便统一升级统一管理;弊端也很明显:增加了环境的复杂度,需要往 jboss 下扔 sarhsf 设计的主要原因。HSF 工作原理如下图:需要拷贝淘宝提供的 HSF SAR 文件到 Jboss 的 Deploy 目录。http:/ 接口都是淘的 deploy 下面这样sar 文件,对 jboss 1.JBoss 服务器启动后,启动HSF SAR 应用(即taobao.hsf.sar,本地开发机放在%

16、DEPLOY_DIR%中,线上机器放置在/home/admin/$appName/target下)2.应用自身启动,Spring 容器初始化。这时:HSFSpringProviderBean:会进行初始化,将向config server 注册当前这个bean 服务。这一注册过程,简单理解其实就是告诉config server:IP 为xxx.xxx.xxx.xxx 的机器提供了xxx 服务。这样,config server 就可以根据服务调用者的请求中的服务名来转发推送服务地址了。HSFSpringConsumerBean:会进行初始化,将向config server 订阅当前这个bean 服务,过程可以简单理解为:告诉config server:IP 为xxx.xxx.xxx.xxx 的需要提供xxx 服务,Config server 就会根据这一服务名返回给应用相应的服务地址。3.在HSF 服务调用者订阅到服务地址后,就可以使用该服务地址执行服务调用了。一个HSF 服务通常并不是由一台机器提供的,所以,订阅到的服务地址通常是一个地址列表,里面包含了所有提供了该服务的地址。HSF 会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1