企业IT架构转型之道_第1页
企业IT架构转型之道_第2页
企业IT架构转型之道_第3页
企业IT架构转型之道_第4页
企业IT架构转型之道_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11构建业务中台基础Supercell的研发核心思维ThinkSmall小团队模式Supercell(超级细胞芬兰移动游戏巨头。拥有《部落冲突》、《卡通农场》、《海岛奇兵》和《皇室战争》等全球热门游戏。2016年6月,腾讯收购Supercell84.3%的股份,作价86亿美元,整个公司估值102亿美元。这不仅是腾讯历史上,也是近年全球手机游戏行业最大金额的并购。根据腾讯的公告,这家总部位于芬兰的公司,目前员工总数仅有190人。按照102亿美元的估值,平均每个员工对应的估值折合约3.5亿人民币。SupercellCEOIlkkaPaananen深游戏开发者在一个“小团队”阿里巴巴共享业务事业部的发展史大淘宝大淘宝淘天猫淘天猫宝淘宝淘宝天猫天猫淘宝天猫淘宝天猫共享业务事业部共享业务事业部共享业务事业部共享业务事业部淘宝天猫阿里巴巴共享业务事业部在业务架构中的重要地位支撑支撑支撑支撑阿里云平台神农集群监控大禹集群布署 店铺中心应用发布应用发布构建业务中台的基础共享服务体系共享服务架构的建设使得阿里巴巴摆脱了因为“烟囱式”系统建设方式所带来的种种发展桎梏,价值1:回归SOA的本质-服务重用服务交互数据层共享服务会员中心服务交互数据层共享服务会员中心商品中心交易中心支付中心$$$服务交互服务交互-订单-服务交互服务交互服务交互服务交互价值2:服务需要不断的业务滋养服务不需要“业务稳定”,而需要不停的滋养,只有在滋养中才能从最初仅提供单薄业务功能的服务逐渐成长为企业最为宝贵的IT资产,而服务所需的滋养正是来自新的业务不断进行服务的接入。物流系统物流系统支付平台支付平台开放平台开放平台开放服务服务滋养稳定数据价值3:共享服务体系是培育业务创新的土壤各业务交易流程架构师->交易中心中的业务人员及架构师从来自不同业务的“点”->扩展到线和面的维度全面掌控交易的业务(领域业务专家)点点点点点点创建订单发货订单拆分数据完整性安全校验全网规则确认修改价格关闭订单订单查询删除订单付款价值4:赋予业务快速创新和试错能力团队协同效率最高对战机(商机)的把握更加敏锐调整方向更加快捷一旦发现正确目标,全力投入扩大战果战场中的中台阵型战场中的中台阵型二战,二战,美军以军为单位作战越战,美军以营为单位作战中东,美军以7人-11人极小班排作战价值5:为真正发挥数据威力做好储备数据分布广、数据分布广、格式不统一、不标准缺少能基于数据有业务建模能力的专家缺少能基于数据有业务建模能力的专家用户、商品、交易等在业务和数据层融合业务数据归整和沉淀高质量的业务数据优秀数据科学家,可遇不可求靠企业自我培养,共享服务体系培育懂业务的专家价值6:改变组织阵型会带来组织效能的提升•针对每一个建设的服务中心,从组织架构的形态上调整,不同角色人员(架构师、•业务架构师成为团队最核心的角色,也是业务负责人,懂技术和业务。成为服务中心业务发展的领路者,也是保障服务中心核心业务保持业务通用性和公共性的最重22共享服务体系搭建“”分布式服务框架的选择构建共享服务体系,必然需要采用一套服务化框架来支撑整个服务体系的运转。淘宝从单一系统模式转变为服务化架构的过程,“去中心化”服务架构成为今天绝大多数互联网平台所采用的服务框架。2007年的淘宝500人技术团队,淘宝网站几百兆字节的WAR包,功能模块超过200个传统架构的弊端项目团队间协同成本高传统架构的弊端项目团队间协同成本高,业务响应越来越慢业务复杂度已超出人的认知负载错误难以隔离数据库连接能力很难扩展应用扩展成本高淘宝平台的服务化改造(SOA+业务模块逐步迁移)2007年10月开始一系列基于SOA理念新一代服务化框架研发以及采用业务模块逐步迁移的方式进行应用框架的改造工作。淘宝平台历时14个月业务模块用户服务中心交易中心用户服务中心交易中心类目中心剥离商品中心店铺中心拆分几百兆字节WAR包飞行中的飞机换发动机上百个WAR包独立部署的服务化架构淘宝平台的服务化改造后的效果降低不同模块开发团队间的协同成本业务响应更迅捷大大降低系统间的耦合度以及整体复杂度各个开发团队可专注于各自的业务模块避免了个别模块的错误给整体带来的影响业务拆分后解放了对单数据库集群连接数的能力依赖做到针对性的业务能力扩容减少不必要的资源浪费中心化与去中心化服务框架对比传统软件厂商提出的以ESB(企业服务总线)实现SOA的方案是中心化服务框架;有一部分人认为去中心化不是SOA架构。中心化与去中心化是同一套体系中心化与去中心化是同一套体系SOA并没有定义一定是基于ESB总线方式去中心化分布式服务框架同样遵循SOA架构的特征定义去中心化是中心化服务框架的升级版本,两套系统解决企业根本诉求完全不同。ESB模式中心化解决企业实现异构系统之间的交互。核心目的是让企业客户能基于这些SOA的产品实现系统间的互联互通。中心化与去中心化服务框架对比在淘宝上点击“立即下单”或“结算”按钮进行下订单的请求,后端调用了200多个服务。 服务调用者 服务调用者 服务调用者服务调用者服务提供者服务提供者服务提供者服务提供者服务调用者服务调用者服务调用者服务调用者 服务提供者 服务提供者 服务提供者服务提供者传统企业服务总线下的服务交互方式分布式服务架构中的服务交互方式中心化与去中心化服务框架对比雪崩效应束缚了中心化服务框架的扩展能力当10台中一台实例出现故障,服务压力落到剩余9台ESB服务器,每台负载水位将超过88%,出问题的概率会大增。如果9台中有一台不堪重负而罢工,瞬间被访问洪流冲垮,雪崩效应导致全军覆没。去中心化服务框架则可以避免因为个别问题波及去中心化服务框架则可以避免因为个别问题波及整个平台的业务受到影响,最多也只是部分服务出现问题,就算出现问题也更容易定位问题和故障恢复。阿里巴巴分布式服务框架HSF(HighSpeedFramework)HSF旨在为淘系的应用提供一个分布式的服务框架,HSF从分布式应用层面以及统一的发布/调用方式层面为大家提供支持,从而可以很容易的开发分布式的应用以及提供或使用公用功能模块,而不用考虑分布式领域中的各种细节技术,例如远程通讯、性能损耗、调用的透明化、同步/异步调用方式的实现等等问题。阿里巴巴分布式服务框架HSF(HighSpeedFramework)按照服务注册发布、服务订阅、服务规则推送、最终HSF服务框架实现服务高可用性原理示意图阿里巴巴分布式服务框架HSF(HighSpeedFramework)作为HSF框架设计之初,最为重要的一个特性就是服务能力的可扩展性。也就是真正的做到某个服务的业务处理能力能随着服务器资源的增加得到线性的增长。微服务架构典型特征微服务与传统SOA特征差异33共享服务中心建设原则淘宝共享服务中心建设历程服务和服务中心都是伴随业务发展变化的,淘宝共享服务体系的发展从服务化到平台化。尝试服务化阶段进入平台化阶段全面服务化阶段尝试服务化阶段进入平台化阶段全面服务化阶段服务中心中的服务形态多样性有些人理解的服务中心是狭义的接口服务,这比较片面化,接口是服务最主要的形式。如果服务中心的服务完全拘泥于接口这种形式,那又大大局限了服务中心的服务能力。依赖于工具的服务依赖于接口的服务依赖于数据的服务一个服务中心可以进一步划分吗?共享服务数据层会员服务会员数据服务中心是根据业务和数据的完整性与独立性来设立的,并不需要一一对应。往往需要多个子服务模块协作配合才能更好地实现服务中心对外服务效率的最大化。共享服务数据层会员服务会员数据订单服务订单服务购物车服务购物车服务交易数据单个服务模块多个服务模块服务中心划分原则-考量方面遵循面向对象的分析和设计方法完整的业务模型,要有数据运营和业务整合的价值。基于分布式架构,要综合评估业务层对服务中心在数据库、业务以及运营方面的需求和技术上需要的投入。服务中心划分原则高内聚、低耦合原则数据完整性原则业务可运营性原则渐进性的建设原则44数据拆分实现数据库能力线性扩展数据库瓶颈阻碍业务的持续发展采用读写分离的方式,拓展了数据库对数据读的处理能力,主数据库的写入能力依然没法扩展。单表数据量是有限的,当达到一定数量后数据库性能会出现显著下降。读写读写从数据库从数据库数据复制数据复制从数据库从数据库……主数据库从数据库从数据库……主数据库数据库水平分区实现数据拆分将同一个表中的不同数据才拆分到不同的数据库中。以用户中心为例,淘宝平台用户量接近6亿,存用户中心应用>!用户中心应用>用户中心数据库用户数据按用户ID取模机型数据均衡拆分用户数据按用户ID取模机型数据均衡拆分数据库分库分表的实践-Cobar分布式处理系统解决了Oracle数据库因为存储数据变得越来越大带来的不支持跨库情况下的连接、分页、排序、子查询操作SET语句执行会被忽略,处理事务和字符集设置除外分库情况下,insert语句必须包含拆分字段列名>分库情况下,update语句不能更新拆分字段的值>使用JDBC时,不支持rewriteBatchedStatements=true参数设置(默认false)>使用JDBC时,不支持useServerPrepStmts=true参数设置(默认为false)>使用JDBC时,BLOB、BINARY、VARBINARY字段不能使用setBlob或setBinaryStream()方法设置参数数据库分库分表的实践-TDDL2008年阿里巴巴内部基于淘宝业务发展的需要,在Cobar的基础上重新研发了分布式数据层框架TDDL(TaobaoDistributedDataLayer针对分库分表场景,提供了对各种业务场景的支持更加完善,开发人员体验更好,管控能力大幅提升。IIbatisSpringjdbctemplateTDDLTDDLmatrixds(TDataSource)TDDLTDDLgroupdsTDDLatomdsTDDLatomds(withjbossds)Matrix层用于实现分库分表逻辑,底层持有多个Group实例。而Group层和Atom共同组成了动态数据源>Group层实现了数据库的Master/Salve模式的写分离逻辑,底层持有多个Atom实例。>Atom层(TAtomDataSource)实现数据库ip,port,password,connectionProperties等信息的动态推送,以及持有原子的数据源分离的JBOSS数据源)MySQL数据库分库分表的实践-TDDL规则计算表名替换执行规则计算表名替换执行SQL根据权重选根据权重选AtomDS回结果集合并处理多个结果集合并处理多个结果集数据库分库分表的实践-TDDL1、数据库主备和动态切换;2、带权重的读写分离;4、集中式数据源信息管理和动态变更;5、剥离的稳定jboss数据源;6、支持mysql和oracle数据库;7、基于jdbc规范,很容易扩展支持实现jdbc规范的数据源;8、无server,client-jar形式存在,应用直连数据库;9、读写次数,并发度流程控制,动态变更;10、可分析的日志打印,日志流控,动态变更。TDDL分库分表查询策略55异步化与缓存原则业务流程异步化平台进行服务化后,在平台页面上发起的业务请求势必需要将后端不同的服务进行组合调用来实现业务请求的处理。以淘宝的交易订单为例,目前淘宝的订单创建流程需要调用200个服务。如果按照顺序执行,需要超过4s库存检查库存预减订单库存检查库存预减订单生成支付生成交易淘宝交易流程按服务线性处理的示意图库存预减消息中间件 其它服务库存预减消息中间件 其它服务订单生成 订单生成 订单日志支付生成支付生成淘宝交易流程异步化后的处理的示意图平均时间控制在300ms,体验好,吞吐量几何倍数提升数据库事务异步化发起还款请求扣占款给详单对应借款人账号转入钱更新还款详单表扣占款给详单对应借款人账号转入钱更新还款详单表计算还款详单计算还款金额借款人账号占款解决平台性能问题的核心是数据库事务的异步化。将大事务拆分成小事务,降低数据库的资源被长时间事务锁占用而造成的数据库瓶颈,就能大大提升平台的处理吞吐量和事务操作的响应时间。用户还款流程阿里巴巴AliWareTXC事务服务TXC也是阿里基于两阶段提交理论实现的分布式事务框架,支持分布式数据库事务、多库事务、消息事务、服务链路调用事务及各种其他事务。和支付宝XTS框架相比,主要区别有两个:一是主事务和分支事务都是维护在同一台TXC服务器上的;二是事务回滚或补偿代码不需要开发人员编写,平台支持自动生成。大促秒杀活动催生缓存技术的高度使用tair是淘宝自己开发的一个分布式key/value存储引擎,tair分为持久化和非持久化两种使用方式,非持久化的tair可以看成是一个分布式缓存。持久化的tair将数据存放于磁盘中,为了解决磁盘损坏导致数据丢失,tair可以配置数据的备份数目,tair自动将一份数据的不同备份放到不同的主机上,当有主机发生异常,无法正常提供服务的时候,其余的备份会继续提供服务。tair作为一个分布式系统,是由一个中心控制节点和一系列的服务节点组成.我们称中心控制节点为configserver.服务节点是dataserver。•configserver负责管理所有的•dataserver对外提供各种数据服务,并以心跳的形式将自身状况汇•configserver是控制点,而且是单点,目前采用一主一备的形式来保证其可靠性.所有的dataserver地位都是等价的。小库存商品秒杀典型架构比如库存为10个,秒杀价格为1元的手机则是典型的小库存商品秒杀活动。因为商品会在极短的瞬间库存会降到0,所以只要处理好商品的库存的扣减,不要出现商品超卖的情况就能平稳地度过这次秒杀活动。大库存商品大促架构将订单交易创建环节中对于原本商品数据库的库存信息操作替换为缓存服务器中运行,充分展现了缓存服务相比于传统数据库在性能上的巨大优势。从趋势来看,缓存技术将会在互联网应用场景中将扮演越来越重要角色。66打造数字化运营能力业务服务带来的问题复杂的服务调用关系以及每天海量的服务调用,而且所有服务都是以点对点的方式进行交互,导致出现问题时很难定位,甚至出现问题没人承认。服务开发人员和业务架构师对于分布式服务调用跟踪方面的需求。淘宝平台服务化后错综复杂的服务调用关系图淘宝订单创建服务调用流程示意图鹰眼平台的架构-核心实现思路如果把淘宝的分布式服务架构比喻为遍布全国的高速公路网络,每一次的页面请求可以认为是一辆汽车在这个高速公路网络中穿行把高速上每一个收费站比喻为处理请求的服务。那么我们希望查看一辆汽车在高速上的行走轨迹,如何实现?最简单的方法就是在这辆车每次经过收费站的时候记录下车辆通过的时间和相关信息,并将这些信息统一发送到服务器端保存起来。鹰眼平台的核心实现思路就是通过一套分布式日志平台实现对服务调用链路的跟踪。汽车通过高速收费口日志记录信息某辆车经过不同高速收费口日志记录信息鹰眼平台的架构鹰眼平台是阿里巴巴中间Jstorm流式计算引擎,对应用集群接收到的日志进行内容的解析拆分,按照不同业务场景的需求将拆分后的数据保存到不同的存储系统。埋点和输出日志将实现服务调用、各种资源的访问所需要生成服务链路日志,以及TraceID传递等功能的代码(称为埋点)植入到服务框架层和各资源的访问驱动层,也就是在中间件层面上统一实现了鹰眼的上下文创建以及日志埋点功能。后端应用1后端应用2数据库请求服务调用clientSendstartTrace服务响应clientRecv服务调用clientSend创建上下文清理上下文clientRecv服务响应endTrace后端应用1后端应用2数据库请求服务调用clientSendstartTrace服务响应clientRecv服务调用clientSend创建上下文清理上下文clientRecv服务响应endTrace前端应用serverRecvserverRecvserverSendserverRecvserverRecvclientSendclientSendclientRecvclientRecvclientSend数据访问clientSend数据访问clientRecvclientRecvserverSendserverSend典型业务场景-调用链跟踪典型业务场景-链路分析典型业务场景-业务全息排查运维和开发人员通过业务轨迹的方式,在查看某一业务请求服务调用跟踪的同时,也能看到服务中所产生的业务事件以及相关业务主键。通过全息排查平台,将鹰眼平台从对跨系统调用跟踪升级为跨业务领域追踪,走出了从运维平台向运营平台转型的重要一步。77打造平台稳定性能力限流和降级限流的作用相当于电路上的保险丝,当过载的时候掐掉一些流量,让系统有能力集中资源以较快的速度处理平台处理能力范围内的业务请求。比如在大促场景中,仅让1000万用户中的100万用户进入后端的处理流程中,将其余900万用户通过队列排队或直接阻挡在平台处理单元之外的方式,保障平台能在处理能力范围内对100万的用最合适的限流拦截点前端请求最合适的限流拦截点应用集群应用集群应用集群应用集群应用集群应用集群服务1集群服务2集群服务3集群服务1集群服务2集群服务3集群接入层是最佳限流点限流平台Sentinel(哨兵)架构限流平台Sentinel的出现,为整个服务化体系的稳定运行行使着警戒任务,是对资源调用的控制平台,主要涵盖了授权、限流、降级、调用统计监控四大功能模块。控制台规则配置控制台规则配置规则推送操作权限规则中心规则中心Diamond应用A应用A应用B应用C应用D监控系统限流降级授权运行态监控应用B应用C应用D监控系统限流降级授权运行态监控Sentinel客户端控制逻辑数据接口我的应用流量调度实现原理tm机器机机器器tm机器核心是通过妙级获取服务器系统运行指标以及业务指标,通过流量调度平台设置的决策算法以及规则,当发现满足规则条件的指标状态发生时,对线上环境的服务器进行下线扥该操作,tm机器机机器器tm机器流量调度平台妙妙级服务状态探测收集规则中心规则中心决策算法决策算法执行模块执行模块恢复模块恢复模块容量压测及评估规划阿里自动化平台通过对生产环境上的流量模型引流到压测服务器上,获取到服务实例单机最大处理能力,结合不同型号服务器处理能力以及生产环境的水位监控信息,对服务集群所需部署的服务器数量进行容量评估及预测。面向分布式应用架构下应用系统容量压测和面向分布式应用架构下应用系统容量压测和业务一致性平台面对业务与数据不一致的问题,业务稳定性保障迫在眉睫。在这样的背景下,实时业务审计平台(BusinessCheckPlatform,BCP)应用而生,这个平台采用规范与标准化业务规则的方式,统一解决平台服务化后越来越凸显的业务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论