《企业IT架构转型之道》笔记
- 1 介绍
-
- 1.2 书籍
- 2 知识点汇总
-
- 烟囱式架构
- 分布式架构
- 共享式架构
- 中台
- “厚平台,薄应用”架构
- 3 阿里IT架构转型过程
- > 起因
-
- 1 阿里中台战略引发的思考
-
- 1.1 阿里巴巴共享业务事业部的发展史
- 1.2 企业信息中心发展的症结
-
- 烟囱式”系统建设模式
- 烟囱式”系统建设弊端
- 核心矛盾
- 业务支持一直是企业信息中心的组织职能
- 2 构建业务中台的基础——共享服务体系
-
- 2.1 回归SOA的本质——服务重用
- 2.2 服务需要不断的业务滋养
- 2.3 共享服务体系是培育业务创新的土壤
- 2.4 赋予业务快速创新和试错能力
-
- 中台的类比
- 中台威力示例–聚划算
- > 搭建
-
- 3 分布式服务框架的选择
-
- 3.1 淘宝平台“服务化”历程
- 3.2 “中心化”与“去中心化”服务框架的对比
- 3.3 阿里巴巴分布式服务框架HSF
- 3.4 关于微服务
- 4 共享服务中心建设原则
-
- 4.1 淘宝的共享服务中?概貌
- 4.2 什么是服务中心
- 4.3 服务中心的划分原则
-
- 一些基本原则
- 5 数据拆分实现数据库能力线性扩展
-
- 5.1 数据库瓶颈阻碍业务的持续发展
- 5.2 数据库分库分表的实践
- 6 异步化与缓存原则
-
- 6.1 业务流程异步化
- 6.2 数据库事务异步化
- 6.3 事务与柔性事务
- 6.4 大促秒杀活动催生缓存技术的高度使用
- 7 打造数字化运营能力
-
- 7.1 业务服务化带来的问题
- 7.2 鹰眼平台的架构
- 7.3 埋点和输出?志
- 7.4 海量?志分布式处理平台
- 8 打造平台稳定性能力
-
- 8.1 限流和降级
- 8.2 流量调度
- 8.3 业务开关
- 9 共享服务中心对内和对外的协作共享
-
- 9.5 业务中台绩效考核
- > 应用
-
- 10 大型央企互联 转型
- 4 资料补充
-
- 4.1 2015年年中,马云携高管,拜访Supercell
- 4.2 SOA 面向服务的架构
- 5 个人感悟
-
- 5.1 更快更全熟悉业务,才能更好创新,中台是土壤
- 5.2 量变引起质变,降低试错成本并建立良性反馈
- 5.3 兵马未动、粮草先行
- 5.4 简单化、可重用、敏捷、数据交互流畅
- 5.5 一体化亦或是分布式由场景决定
- 5.6 心跳+ 警
- 5.7 问题定位
- 参考
1 介绍
钟华(花名:古谦)阿里巴巴中间件首席架构师,15年中间件领域行业经验。对传统企业IT建设和互联 架构都有较为深入的理解,有着扎实的理论基础和丰富的实战经验,多次作为总架构师协助大型传统企业打造业务中台项目,为企业实现“互联 +”转型提供了科学的发展方向和强有力的技术支持,项目涉及政府、制造业、金融、交通、媒体等多个领域。
1.2 书籍
阿?巴巴电商系统的架构经历了烟囱式架构到分布式架构再到共享式架构的转变。
2 知识点汇总
烟囱式架构
分布式架构
共享式架构
中台
中台是居于前台和后台之间。
“厚平台,薄应用”架构
3 阿里IT架构转型过程
> 起因
1 阿里中台战略引发的思考
2015年年底,当?多数企业忙着进?年度?作总结和下?年规划时,阿?巴巴集团对外宣布全?启动阿?巴巴集团2018年中台战略,构建符合DT时代的更具创新性、灵活性的“?中台、?前台”组织机制和业务机制,即作为前台的?线业务会更敏捷、更快速适应瞬息万变的市场,?中台将集合整个集团的运营数据能?、产品技术能?,对各前台业务形成强??撑。
2015年年中,?云带领阿?巴巴集团的?管,拜访芬兰移动游戏公司Supercell。
1.1 阿里巴巴共享业务事业部的发展史
烟囱式”系统建设弊端
- 重复功能建设和维护带来的重复投资。
- 打通“烟囱式”系统间交互的集成和协作成本高昂。
- 不利于业务的沉淀和持续发展。
核心矛盾
系统业务需求响应的能力和企业本身业务发展对系统建设的要求不成比例。
2.2 服务需要不断的业务滋养
2.4 赋予业务快速创新和试错能力
试错能力强,才能保证更多的业务创新。
打造良好的试错中台,降低成本试错成本,增加创新功能的概率。Supercell公司除了企业文化鼓励大家进行业务创新和试错外,更是给业务创新团队提供了扎实的平台资源。
中台的类比
借助美军作战阵型演变来描述中台。
美军在?战时,以军为单位作战;到了越战时,以营为单位作战;到了中东战争时,以7?或者11?的极?班排去作战,它是今天全世界范围内最灵活的军事组织,也是核?竞争?和打击能?最强的组织,如图2-4所?。美军之所以能灵活作战,敢放这么?的团队到前?,是因为有?常强的导弹指挥系统,有?常强?的中后台能?,能?持这样的?团队快速做判断,并且引领整个进攻完成。美军这样的战?阵型与阿?巴巴如今的“?中台、?前端”战略完全?致,与华为公司提的头狼团队也有异曲同?之妙。
如果没有上?提到对于服务安全管控、流量控制等需求的时候,对于Diamond服务器的使?并不是必需的,在有这样的需求场景时,可通过Diamond服务器提供的规则设置界?,对指定服务的服务提供者和调?者设置相关的规则,?旦保存规则后,则此规则配置将会在5秒内推送到与所设置服务相关的服务节点上。
1.HSF框架采?Netty+Hession数据序列化协议实现服务交互
2.HSF框架的容错机制
3.4 关于微服务
微服务架构的典型特征:
- 分布式服务组成的系统。
- 按照业务?不是技术来划分组织。
- 做有?命的产品?不是项?。
- 智能化服务端点与傻?式服务编排。
- ?动化运维。
- 系统容错。
- 服务快速演化。
4 共享服务中心建设原则
4.1 淘宝的共享服务中?概貌
淘宝的共享服务中?包括多个服务中?。最初有四?服务中?:?户中?(UIC)、商品中?(IC)、交易中?(TC)、店铺中?(SC)。随着业务的不断发展,越来越多的服务能?沉淀到了共享服务中?,?如后期的物流中?、营销中?、数据服务中?等。
1.?户中?
?户中?构建了整个阿?巴巴集团统?的?户体系,?户中?服务提供了统?的服务接?,即简化了上层业务的使?,也?便了接下来对?户的?数据分析。同时成?了专门负责?户中心运营的团队后,显著提升了对业务需求的响应效率;系统在实现解耦后,服务的稳定性和可扩展性都得到了极?的提?。
2.商品中心
淘宝的商品中心建设?常有代表意义,淘宝是平台型的电商,商品管理其实是最复杂的业务场景之?。
商品库的数据库管理难度最?,商品中?需要对上层提供的服务能?包括以下?个??:
- 商品描述能力。
- 商品发布能力。
- 商品管理能力。
- 商品巡检的能力。
- 商品数据数据分析的能力。
- 商品评价的能力。
3.交易中心
交易中?是电商的交易业务领域的服务中?,包含交易相关的服务信息,?如购物?、交易流程、订单管理、?持、结算、营销等。
4.店铺中?
店铺中?承担了卖家店铺管理、店铺装修、店铺?命周期管理、店铺?常管理等业务,在店铺体系下,发展了淘宝最具活?的第三?店铺装修市场,这是平台化的最好实践。
4.2 什么是服务中心
1.服务中??定是不断发展的
确切地说,服务中?的划分原则更多的是架构设计经验总结,我们很难对?些具体的问题给?个精确的量化指标,但有?点,我很反对现在微服务中的LOC(Line Of Code)这种指标,即?代码的?数来衡量?个微服务落地的标准。架构本来就是?个追求平衡的艺术,不仅是设计原则上的平衡,还要在技术、成本、资源、性能、团队等各??进?平衡,以最?效地解决主要问题。我认为这也是?名优秀架构师的必备特质,偏执地追求?个维度的完美肯定会在其他??付出代价。
- 系统的锁冲突概率越?
如果事务边界?的SQL请求?较多,在?次SQL请求处理过程中?然对于后端的数据库操作的数据库记录覆盖?较?,当有多个类似的SQL请求并?执?时,则出现数据锁造成的资源访问互斥的概率会??增加。 - 系统越难以扩展
- ·整体性能越低
4.异构索引表尽量降低全表扫描频率
5.将多条件频繁查询引?搜索引擎平台
6.简单就是美
6 异步化与缓存原则
异步化与缓存两个技术都与系统的性能有很?的关系,当今分布式应?架构中,如果不能很好地掌握这两项技术,所设计出的应?将很难有优质的性能表现。
6.1 业务流程异步化
以淘宝的交易订单为例,?前淘宝的订单创建流程需要调?超过200个服务,如果按照之前所有业务逻辑均是在?个JVM中顺序执?的?式,要完成超过200次的远程服务调?,就算所有服务的调?时间都控制在20ms内返回结果,整个订单创建的时间也会超过4s,这个时间?度对于今天互联?时代的客户来说已经超过了忍耐极限。
6.2 数据库事务异步化
大的数据库事务对数据库的资源占?、表记录?时间被事务锁住带来的数据库请求排队。
针对这类场景,解决平台性能问题的核?就是数据库事务的异步化。通俗来说,就是将?事务拆分成?事务,降低数据库的资源被?时间事务锁占??造成的数据库瓶颈,就能??提升平台的处理吞吐量和事务操作的响应时间。
6.3 事务与柔性事务
6.4 大促秒杀活动催生缓存技术的高度使用
对内存的数据操作时间?般是纳秒级,?传统的数据库访问中,?次SSD盘数据访问在??微秒,?次SATA盘数据访问在??毫秒,显然处理时间有数量级的差异,所以通过缓存(?部分缓存产品均是基于内存的数据存取实现)让应?具备更好的处理性能和系统吞吐率早已经在应?开发领域?泛使?。
1.?库存商品秒杀典型架构
?如库存为10个,秒杀价格为1元的?机则是典型的?库存商品秒杀活动。在这种类型的秒杀活动中,因为商品会在极短的瞬间库存会降到0,所以只要处理好商品的库存的扣减,不要出现商品超卖的情况就能平稳地度过这次秒杀活动。
7.3 埋点和输出?志
7.4 海量?志分布式处理平台
8 打造平台稳定性能力
8.1 限流和降级
限流的作?相当于电路上的保险丝,当过载的时候掐掉?些流量,让系统有能?集中资源以较快的速度处理平台处理能?范围内的业务请求。也就是上??促场景中,仅让1000万?户中的100万?户进?后端的处理流程中,将其余900万?户的请求通过队列排队或直接阻挡在平台处理单元之外的?式,保障平台能在处理能?范围内对100万的?户请求进?处理。
阿?巴巴中间件团队针对这个问题,开发了线上压测?具,能更?便和准确地对服务的容量进?评估,即获取到该服务所能提供的最?处理能?。
阿?巴巴是通过在Nginx上实现的扩展组件TMD(Taobao Missile Defense,淘宝导弹防御系统)实现了接?层限流的主要?作,TMD系统可通过域名类限流、cookie限流、?名单以及?些安全策略等很好地实现了在接?层的限流措施。
8.3 业务开关
4 资料补充
4.1 2015年年中,马云携高管,拜访Supercell
在2015年年中,?云带领阿?巴巴集团的?管,拜访了位于芬兰赫尔?基的移动游戏公司Supercell,这家 称是世界上最成功的移动游戏公司,以《部落战争》《海岛奇兵》《卡通农场》等游戏知名。Supercell是?家典型的以?团队模式进?游戏开发的公司,?般来说两个员?,或者5个员?,最多不超过7个员?组成独?的开发团队,称之为Cell(细胞),这也是公司名字Supercell(超级细胞)的由来。团队??决定做什么样的产品,然后最快的时间推出产品的公测版,看看游戏是否受?户欢迎。如果?户不欢迎,迅速放弃这个产品,再进?新的尝试,期间?乎没有管理??的介?。团队研发的产品失败后,不但不会受到惩罚,甚?会举办庆祝仪式,以庆祝他们从失败中学到了东?。使?这样的模式使得Supercell公司成为了年税前利润15亿美元的游戏公司,2015年App畅销排?榜上Top 10的游戏中,Supercell公司开发的游戏占据了榜单的?半江?。在笔者撰写此书时,2016年6?,中国腾讯公司以86亿美元收购了员?数不超过200?的Supercell公司84.3%的股权,每?名员??均贡献的估值超过3.54亿??币。
这家游戏公司经过6年的时间将游戏开发过程中公共、通?的游戏开发素材、算法做了很好的沉淀,企业的?化充分?励员?进?创新,甚?进?试错,才使得他们在开发的众多游戏中以最快时间找到那些?户真正喜爱的游戏。这种强?的业务试错能?是Supercell相?于其他游戏公司最?的差别,也是最核?的竞争?。
Supercell公司在多年的游戏研发中积累了非常科学的研发?法和体系,使得今天公司可以?持?个?的?团队在?周时间就能研发出?款新游戏,并进?公测。
4.2 SOA 面向服务的架构
Service-Oriented Architecture,如今较火的微服务架构,是其衍生。
5 个人感悟
5.1 更快更全熟悉业务,才能更好创新,中台是土壤
5.2 量变引起质变,降低试错成本并建立良性反馈
在保证一定质量的前提下,做更多业务,才能有更多机会去创新业务。
同量资源下,试错成本越低,尝试次数越多,创新的机会才大。
心流式反馈无疑能极大助力业务创新。
5.3 兵马未动、粮草先行
先打仗再筹粮还是先筹粮再打仗,这是个问题。小打小闹,资源消耗少,可以先打仗再筹粮,该模式即使赢也是险胜。大型战争都是兵马未动,粮草先行。
公司做项目亦然。先拉项目再凑基本的研发能力,即使项目完成,也是惊险一跃。备好基本的研发能力,再去承接项目,这是项目成功的基础。
就如自己了解的一个服务机器人项目,底盘AGV除外,研发就两三人,多个项目,都未成功。
5.4 简单化、可重用、敏捷、数据交互流畅
阿里共享服务中?的架构?的是通过业务拆分来降低系统的复杂性;通过服务共享来提供可重?性;通过服务化来达到业务?持的敏捷性;通过统?的数据架构来消除数据交互的屏障。
一款成功的应用,需要好的架构,让系统变得简单;需要对业务抽象和归类,提高可重用性;用户体验功能时,服务能敏捷完成;数据合理处理,是的交互流畅。
5.5 一体化亦或是分布式由场景决定
共享服务的架构是基于分布式架构,分布式架构解决了?体化架构在?规模应?上的问题,但是也引?了分布式事务、问题排查等??的?些难题,所以在规划服务中?的时候,?定要综合评估业务层对服务中?在数据库、业务以及运营??的需求和技术上需要的投?。
一体化亦或是分布式由业务而生。
5.6 心跳+ 警
运?集群与ZooKeeper采?定时?跳的?式,将集群节点的运?状态以及任务完成的位点(即?前同步任务处理binlog的进度信息)信息同步到Zookeeper上,如果?跳信息异常或位点时间落后过?则?即 警。在抽取器和分发器发?任何错误复制任务?即转变成STANDBY状态,集群中其他机器上的服务在感知后会?即将??启动,继续执?前?复制任务。
5.7 问题定位
阿里的中台架构,服务问题定位,倚靠的是鹰眼平台,鹰眼平台记录了淘宝每天上千亿次的服务调?信息。
协作机械臂领域,汇总问题(ID、关键字、类型等)到表中,软件HMI会显示日志信息,日志文件会记录总的日志信息,日志信息能在查询表查出。
大的系统需要这样的鹰眼平台。
参考
1、豆瓣–企业IT架构转型之道:阿里巴巴中台战略思想与架构实战
2、百科–SOA
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!