大卫-汤普森是两届NBA 全明星赛的MVP,也是全联盟唯一一位既荣获ABA全明星赛MVP、又得过NBA全明星赛MVP的球员,人送外号“天空漫步者”。大卫-汤普森的能力非常突出,他并不喜欢花哨的扣篮,但是总能准确的将球送入篮筐。1978年4月9日,对于大卫-汤普森来说是终生难忘的一天。因为就在这一天,他在与底特律活塞比赛中,不可思议的砍下73分。这个单场得分目前仍旧排在NBA历史得分榜的第四位,这足以证明大卫-汤普森不凡的得分能力
英格里什:David English
是整个80年代联盟里最多产的得分手。在密尔卧基和印地安那度过了郁郁不得志的4年后,English来到了充满活力和能量的丹佛。在这里,English开始展现他爆发性的得分能力,并且使球队一跃成为当时NBA最好的进攻球队之一。
English的黄金时期贯穿了整个80年代。在丹佛的10个赛季里,他连续8年进入全明星阵容,拿到了一个得分王头衔,有9年的场均得分突破23分,同时连续9年将球队带入了季后赛(虽然从未进入总决赛)。这个技术娴熟的6尺7寸前锋也是联盟历史上第一个连续8季总得分超过2000分的球员。作为丹佛历史得分王,他有7个赛季的得分冠绝全队。
English是个平静温和的人。他只会用赛场上的表现来说话。自我吹捧和吸引眼球的举动从来就不是他的风格。可一旦English决定开口发表意见,他的口才总能让人欲辩无词。事实上目前English已经出版了三本个人诗集。在打球期间,他甚至还在由Gregory Peck和Jamie Lee Curtis主演以核战争为背景的“Amazing Grace and Chuck”中出演了一个感性角色。(召唤达人)
当Julius Erving, Larry Bird和Magic Johnson在那个时代吸引了大多数关注的时候,English默默地创造了NBA历史上最令人叹服的个人成就之一。
English曾经这么说:“我不是那种非常浮华,嘈杂的球员。我只是低调地完成我所应该完成的工作。有些人从来没有看到过这些,可是他们也从来没有关心过。”
虽然English从来不是媒体的宠儿,但是专家和老鸟们可不会忘记他的那些辉煌履历。NBA 专家Marty Blake曾对达拉斯时代先驱报的记者说过这么一段话:“真正影响到ALEX生涯评价的,至少人们在把他与其他伟大球员比较时不会忽略的一点是他不够华丽或者说过于朴实的球风。他最令人挑剔的问题就是从来没有得到大众太多的重视和承认。我曾经和18位名人堂成员有过接触,我认为ALEX是其中最伟大的之一。”
丹佛主教练Doug Moe非常善于组织快攻战术以及高得分的进攻体系。English在这个进攻体系中受益良多。而一旦这个攻击体系被抑制不能取分,English就开始自己创造得分机会。联盟中只有极少数球员具备他那样的进攻创造力和胆色在他15年的职业生涯中,English的投篮命中率高达507,而他耐战度也非常引人注目,在除了新秀赛季的14年里,他每年至少能出勤78场。
English出生在南卡罗莱纳洲哥伦比亚市,他的大学生涯在南卡罗莱纳大学度过。大学期间他取得了不怎么吸引眼球却非常优异的数据统计。他在大学联赛的前3年里场均分别轰下146, 183,
和160分,而第四年正是English在大学表现最好的一年,他场均能拿下226分。顺便一提,这4年里他的平均投篮命中率是538。
1976年的选秀大会聚集了包括John Lucas, Scott May, Adrian Dantley 和 Robert Parish在内的一群优秀年轻球员。English运气不佳,直到第2轮才被密尔沃基在第23位选中。
当时的雄鹿正值重建,他们过去的全明星中锋Kareem Abdul-Jabbar已经在LA度过了两年的时光,密尔沃基的荣光早已成为历史。一支新兴的球队正围绕Brian Winters, Junior Bridgeman, Swen Nater和Quinn Buckner建设。新秀年的English在60场比赛里仅仅获得了10分钟的场均上场时间,自然无甚发挥。第二年他得到更多的上场时间,然而之后 Marques Johnson和David Meyers 的到来将他再一次牢牢摁在了Don Nelson教练身边的板凳上。
经历了两年失败的替补生涯后,English在78年赛季结束时成为自由球员。他选择与印第安纳签约,印第安纳则送给密尔沃基一个第一轮选秀权作为补偿。来到了另一支重建球队的English终于得到了首发位置——虽然大部分的攻击机会依旧集中在 Ricky Sobers,Johnny Davi和Mickey Johnson三者身上1979-80赛季季中,English被交换到了丹佛,作为补偿,印第安纳得到了29岁的前锋George McGinnis(讽刺的是,这人之后只打了两季就退休了)。
English来到丹佛后如鱼得水般地爆发了,之后的24场比赛他场均拿下213分。当季成绩为30胜52负的丹佛急切需要能点燃他们进攻火力的催化剂。所幸,上帝给了他们ALEX。
80-81赛季中,Doug Moe 取代Donnie Walsh成为球队主帅,他惊奇地发现English能够把握住几乎所有给予他的进攻机会。当时球队阵容整齐,除了当打之年的English还拥有健康的 David Thompson并且吸纳了新人前锋Kiki Vandeweghe。于是,MOE奏响了丹佛快攻冲击波的序曲。English(238分)也由此开始了他连续9年场均23+的华丽演出。丹佛如同火箭升空一般一口气把场均得分从联盟第14提升到了第一。不幸的是,那个赛季丹佛同样也被钉上联盟失分第一的耻辱柱,最终以37胜45负的平庸战绩结束了赛季。
1981-82赛季的English几乎势不可挡,他以场均254分的数据带领球队进入暌违两年的季候赛,并首次入选全明星——这仅仅是他连续八年全明星经历的开始。季末,出色的表现为他在NBA第二阵容中博得了一席之地。一年之后的82-83 赛季,English场均得分飙升至284并首次获得联盟得分王。同队的Vandeweghe 以267分位居第二。是年掘金依靠ALEX,KIKI以及老将Dan Issel和T R Dunn的表现再次成为拥有联盟最强进攻和最弱防线的球队。他们以45胜37负的成绩结束常规赛,只比中西赛区的老大圣安东尼奥少了8场胜差。
1983-84赛季,Vandeweghe超越English成为球队得分王。他和 English(264分)分别占据了联盟得分榜第3,第4的位置。他俩的组合是NBA历史上最恐怖的前场组合之一。但是球队的两个重要问题仍旧没有得到解决:篮板和防守。Dunn球队最高的574个篮板总数仅仅是当季联盟篮板王的一半。而那一赛季丹佛的场均失分达到了骇人听闻的1248 分。那年他们胜率跌破5成,全季仅拿下38胜-44负。
经历了一个忙碌夏天的掘金利用和波特兰的交易得到了前锋Calvin Natt,后卫Lafayette Lever以及替补中锋Wayne Cooper——代价则是Vandeweghe。在那个大交易里,开拓者方面还送上了两个选秀权做添头。由于COOPER和NATT当季分别有600个以上的强力篮板表现,加上English场均279分的表现继续维持着球队强劲的攻击火力,丹佛在1985年获得了分区冠军。通过这一系列动作,掘金终于将球队的赛季场均得分超越了场均失分。
那年季后赛,掘金接连轰杀了圣安东尼奥和尤他两大废柴,第一次进入西部决赛并遭遇了当年的NBA总冠军湖人,最终湖人在5场比赛内轻松结束了战斗。这是ENGLISH整个职业生涯最接近冠军戒指的一次。
English在85至86赛季的场均得分达到了生涯最高的298分,仅次于亚特兰大的 Dominique Wilkins和尤他的Adrian Dantley列联盟第三。在当时队内没有第二名20+得分手的条件下,掘金连续三年统治NBA球队得分榜的光荣历史结束了,同时他们也遗憾地失去了分区冠军的宝座。
那年全明星赛,English作为替补打出个人全明星最佳表演,在16分钟内以12中8的命中率轰下16分。他在那年还创造了另一项个人记录:对垒本分区冠军休士顿火箭全场贡献生涯最高得分54分。这也是丹佛球队历史上第二个人高分,只有 David Thompson在77-78赛季拿下的73分才能压过English。
经历了一个不到5成胜率的惨淡赛季后,88年掘金再度赢得了分区冠军,这次他们的推进器是新加盟的Jay Vincent和Michael Adams。已经超过30岁的English依旧是那么彪悍,他在得分上继续站在了球队的最顶端:场均25分。掘金打入季后赛第二轮,可惜最终仍旧功亏一篑在6场大战中败给了达拉斯小牛。
ENGLISH在89-90季场均得分仅有179分,在赛季结束后成为了自由球员。由于丹佛放弃与他续约,36岁的他最后和达拉斯签了一年和约。作为一名掘金球员,English几乎是所有球队记录的保持者,他的记录包括了总得分(21645),总助攻(2679),总比赛场次(837)以及总上场时间(29893)等。
ENGLISH这不体面的告别方式给他和球迷深深的伤痛。“我曾经无数次想象过如同Dan Issel 和Julius Erving那样潇洒离去的场面,在我的想象中我会周游全联盟,向所有城市里所有的球迷们告别。”English在1992年接受洛基山新闻报采访时说道,“不幸的是,在这个联盟里,没有多少球员能自己选择职业生涯终结的方式。”
ENGLISH加入了一支处在上升期间的球队。当时达拉斯拥有Rolando Blackman, Roy Tarpley, Derek Harper,James Donaldson以及新加入的前锋Rodney McCray等强者。在赛季开始前,ENGLISH自信满满地对媒体说:“这次我终于可以为总冠军而奋斗了!”
然而,可怜的English和小牛并没有走多远。作为McCray的替补,他打了79场比赛,场均拿下97分。球队主力Tarpley持续不断的伤病和毒品问题和Lafayette Lever的重伤最终使小牛仅排名中西区第6。
第二年小牛放弃了ENGLISH。他在1991年不得不选择退役。在他的整个生涯里,他一共得到25,613分。历史上仅有六名球员的总得分在他之上,他们是:Kareem Abdul-Jabbar, Wilt
Chamberlain, Elvin Hayes, Moses Malone, Oscar Robertson 以及John Havlicek 无一不是战功赫赫之辈。ENGLISH37岁的时候还为意大利Depi Napoli打了一年共18场比赛,场均得到139分。
English和丹佛的故事在1992年落下了帷幕。球队终于为当年对他作出的不公正待遇表达了歉意,并且将他的2号队服高高悬挂在球场上空。球队主席Tim Leiweke在记者招待会上说:“作为一个团体,掘金在过去的5到6年里显然失去了方向和责任感。所以首先,我们必须为我们的失职向ALEX道歉。 ”English则表示他非常满意。他告诉洛基山新闻报的记者:“我总觉得我的故事需要一个结局,因为一种茫然若失的感觉经常袭上我的心头。今天我终结了我的过去,但这也是一个开始。因为我将把我的目光投向那些未知的挑战。”
很多年过去了,English在退役后终于得到了足够的尊重和认可——他在掘金时代的那件2号彩虹色队服始终在NBA复古球衣销售榜上名列前茅。
他所说的未知的挑战将他带入了有别于比赛的另一个领域。他曾受聘成为NBA球员联合会球员规划和服务方面的主管。职责包括酒精,毒品,艾滋病毒检查,球员定位和职业计划规划等方面。他过去作为球员的杰出表现使他在媒体上小露了一把脸,之后的 English也有过NBDL主教练以及亚特兰大老鹰队助理教练的经历。
凯文约翰逊:
上世纪八十年代中期,KJ(凯文·约翰逊的呢称)和后场搭档克里斯·华盛顿给一度死气沉沉的加州大学金熊队带来生机,带领加州大学队杀入NCAA锦标赛,并在25年来首次打败竞争对手加州大学洛杉矶分校。凯文·约翰逊让我想起了我喜欢的一名球员——“微笑刺客”伊塞亚·托马斯:他只有185米,但速度疾如闪电,且控球能力极佳,这使他可以在任何时间轻易突破击溃对手。KJ在场上的奔跑速度极快,而且总是善于调动他的队友们加入攻防,但他从不抢走队友风头。
但令我印象深刻的是,在我短暂就读加州大学时期间,我看到的不只是KJ在场上如鱼得水的演出,还有他不时出现在学校的图书馆里,而且不止一次。这让我颇感兴趣,因为在密歇根大学我看到篮球选手经常出入酒吧,却从不在图书馆中现身。显然,约翰逊不只是一名球员,还是一名真正的球星。
1987年选秀大会,KJ被骑士以第7号选秀权相中,该队当时在组织后卫位置上已拥有二年级球员马克·普莱斯。在新秀赛季的2月,即1988年2月25日,KJ被骑士送到太阳,在菲尼克斯他立刻获得新生。1988-89赛季,是他在太阳的首个完整赛季,约翰逊场均掠下204分,并有个人职业生涯最高的122次助攻,荣膺该赛季“进步最快球员奖”。连续3个赛季,约翰逊都场均有得分20+助攻 10+的表现。要知道,史上只有5名球星有此佳绩,其他4名球星分别是伊塞亚·托马斯、内特·阿奇巴尔德、“魔术师”约翰逊、“大O”奥斯卡·罗宾逊,后 4人均入选了NBA50大巨星。约翰逊职业生涯场均助攻达到91次,这在NBA历史上列第4席,仅次于“大O”、“魔术师”和史上“助攻王”约翰·斯托克顿,在其12年的NBA生涯中,KJ还有场均179分进账。
值得一提的是,在KJ抵达菲尼克斯的最初7个赛季中,太阳每个赛季取胜场次不少于53场,优秀组织后卫催生了一批高产攻击手,包括汤姆·钱伯斯、埃迪·约翰逊(今夏被《芝加哥论坛报》等美国媒体误认为性侵犯一名8岁女童,其实是另一位同名同姓的前 NBA球员埃迪·约翰逊所为,后者主要效力于老鹰)以及1992-96赛季效力太阳的查尔斯·巴克利。1993年总决赛中,太阳将公牛逼进了第6场大战,包括总决赛第3场经3个加时以129比121力克芝加哥人,这场比赛成为了总决赛历史上的经典之战,就是在这场比赛中,KJ负责防守“飞人”乔丹,让他在球迷中间留下了深刻印象。
和职业生涯一样,凯文·约翰逊的场下生活同样伟大。1989年当他在太阳队效力时,他在加州萨克拉门托附近的橡树园社区创建了圣希望(St Hope)学校,这是一所非营利的、为萨克拉门托市中心的孩子们提供学习和成长的学校,KJ小时候是在橡树园长大的。圣希望学校现在由独立人士承租,已拓展到其他社区。20年后,当我们再次重温他的辉煌球员岁月时,我的第一印象仍是他在加州大学的图书馆内孜孜就读,但这对约翰逊来说却是再平常不过的事情。
虽然他只有6'1 "高 ,KJ往往会隔着大个子扣篮得分,其中包括暴扣奥拉朱旺 , 马克伊顿 ,和约翰的"热棒"威廉斯 。
约翰逊是在NBA历史上仅有的四个,在3个不同的赛季平均每场以平均每年至少有200分和100次助攻的球员之一。
约翰逊是在NBA历史上仅有的四个,以平均每年至少有150分和100次助攻,平均每场超过过程中的本赛季投篮命中率至少0500来自外线的球员之一。
约翰逊是一个只有两名球员(另一个是魔术师约翰逊 ),以平均每年至少有200分和100次助攻,平均每场超过过程中的本赛季投篮命中率至少0500来自外线的球员。凯文约翰逊和魔术师约翰逊都完成了这一壮举,前者在1988-89年和1990-91,后者在一九八六至八七年度和一九八八至八九年度。架构以及我理解中架构的本质
在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小时的服务时间,平均QPS只有30左右。对于一个后台服务器,单机的平均QPS可以到达800-1000,单独看写的业务量很简单 。为什么我们又不能说轻视它?第一,我们看它的数据存储,每天一百万的话,一年数据量的规模是多少?其次,刚才说的订单量,每一个订单要推送给附近的司机、司机要并
发抢单,后面业务场景的访问量往往是前者的上百倍,轻松就超过上亿级别了。
今天我想从架构的本质谈起之后,希望大家理解在做一些建构设计的时候,它的出发点以及它解决的问题是什么。
架构,刚开始的解释是我从知乎上看到的。什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像。更抽象一点,说架构其 实 是 对 我 们 重复性业务 的抽象和我 们 未来 业务 拓展的前瞻,强调过去的经验和你对整个行业的预见。
我们要想做一个架构的话需要哪些能力?我觉得最重要的是架构师一个最重要的能力就是你要有 战 略分解能力。这个怎么来看呢:
第一,你必须要有抽象的能力,抽象的能力最基本就是去重,去重在整个架构中体现在方方面面,从定义一个函数,到定义一个类,到提供的一个服务,以及模板,背后都是要去重提高可复用率。
第二, 分类能力。做软件需要做对象的解耦,要定义对象的属性和方法,做分布式系统的时候要做服务的拆分和模块化,要定义服务的接口和规范。
第三, 算法(性能),它的价值体现在提升系统的性能,所有性能的提升,最终都会落到CPU,内存,IO和网络这4大块上。
这一页PPT举了一些例子来更深入的理解常见技术背后的架构理念。
第一个例子,在分布式系统我们会做 MySQL分 库 分表,我们要从不同的库和表中读取数据,这样的抽象最直观就是使用模板,因为绝大多数SQL语义是相同的,除了路由到哪个库哪个表,如果不使用Proxy中间件,模板就是性价比最高的方法。
第二看一下加速网络的CDN,它是做速度方面的性能提升,刚才我们也提到从CPU、内存、IO、网络四个方面来考虑,CDN本质上一个是做网络智能调度优化,另一个是多级缓存优化。
第三个看一下服务化,刚才已经提到了,各个大网站转型过程中一定会做服务化,其实它就是做抽象和做服务的拆分。第四个看一下消息队列,本质上还是做分类,只不过不是两个边际清晰的类,而是把两个边际不清晰的子系统通过队列解构并且异步化。
新浪微博整体架构是什么样的
接下我们看一下微博整体架构,到一定量级的系统整个架构都会变成三层,客户端包括WEB、安卓和IOS,这里就不说了。
接着还都会有一个接口层, 有三个主要作用:
第一个作用,要做 安全隔离,因为前端节点都是直接和用户交互,需要防范各种恶意攻击;
第二个还充当着一个 流量控制的作用,大家知道,在2014年春节的时候,微信红包,每分钟8亿多次的请求,其实真正到它后台的请求量,只有十万左右的数量级(这里的数据可能不准),剩余的流量在接口层就被挡住了;
第三,我们看对 PC 端和移 动 端的需求不一样的,所以我们可以进行拆分。接口层之后是后台,可以看到微博后台有三大块:
一个是 平台服 务,
第二, 搜索,
第三, 大数据。
到了后台的各种服务其实都是处理的数据。 像平台的业务部门,做的就是 数据存储和读 取,对搜索来说做的是 数据的 检 索,对大数据来说是做的数据的 挖掘。微博其实和淘宝是很类似
微博其实和淘宝是很类似的。一般来说,第一代架构,基本上能支撑到用户到 百万 级别,到第二代架构基本能支撑到 千万 级别都没什么问题,当业务规模到 亿级别时,需要第三代的架构。
从 LAMP 的架构到面向服 务 的架构,有几个地方是非常难的,首先不可能在第一代基础上通过简单的修修补补满足用户量快速增长的,同时线上业务又不能停, 这是我们常说的 在 飞 机上 换 引擎的 问题。前两天我有一个朋友问我,说他在内部推行服务化的时候,把一个模块服务化做完了,其他部门就是不接。我建议在做服务化的时候,首先更多是偏向业务的梳理,同时要找准一个很好的切入点,既有架构和服务化上的提升,业务方也要有收益,比如提升性能或者降低维护成本同时升级过程要平滑,建议开始从原子化服务切入,比如基础的用户服务, 基础的短消息服务,基础的推送服务。 第二,就是可 以做无状 态 服 务,后面会详细讲,还有数据量大了后需要做数据Sharding,后面会将。 第三代 架构 要解决的 问题,就是用户量和业务趋于稳步增加(相对爆发期的指数级增长),更多考虑技术框架的稳定性, 提升系统整体的性能,降低成本,还有对整个系统监控的完善和升级。
大型网站的系统架构是如何演变的
我们通过通过数据看一下它的挑战,PV是在10亿级别,QPS在百万,数据量在千亿级别。我们可用性,就是SLA要求4个9,接口响应最多不能超过150毫秒,线上所有的故障必须得在5分钟内解决完。如果说5分钟没处理呢?那会影响你年终的绩效考核。2015年微博DAU已经过亿。我们系统有上百个微服务,每周会有两次的常规上线和不限次数的紧急上线。我们的挑战都一样,就是数据量,bigger and bigger,用户体验是faster and faster,业务是more and more。互联网业务更多是产品体验驱动, 技 术 在 产 品 体验上最有效的贡献 , 就是你的性能 越来越好 。 每次降低加载一个页面的时间,都可以间接的降低这个页面上用户的流失率。
微博的技术挑战和正交分解法解析架构
下面看一下 第三代的 架构 图 以及 我 们 怎么用正交分解法 阐 述。 我们可以看到我们从两个维度,横轴和纵轴可以看到。 一个 维 度 是 水平的 分层 拆分,第二从垂直的维度会做拆分。水平的维度从接口层、到服务层到数据存储层。垂直怎么拆分,会用业务架构、技术架构、监控平台、服务治理等等来处理。我相信到第二代的时候很多架构已
经有了业务架构和技术架构的拆分。我们看一下, 接口层有feed、用户关系、通讯接口;服务层,SOA里有基层服务、原子服务和组合服务,在微博我们只有原子服务和组合服务。原子服务不依赖于任何其他服务,组合服务由几个原子服务和自己的业务逻辑构建而成 ,资源层负责海量数据的存储(后面例子会详细讲)。技 术框架解决 独立于 业务 的海量高并发场景下的技术难题,由众多的技术组件共同构建而成 。在接口层,微博使用JERSY框架,帮助你做参数的解析,参数的验证,序列化和反序列化;资源层,主要是缓存、DB相关的各类组件,比如Cache组件和对象库组件。监 控平台和服 务 治理 , 完成系统服务的像素级监控,对分布式系统做提前诊断、预警以及治理。包含了SLA规则的制定、服务监控、服务调用链监控、流量监控、错误异常监控、线上灰度发布上线系统、线上扩容缩容调度系统等。架构以及我理解中架构的本质
在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小时的服务时间,平均QPS只有30左右。对于一个后台服务器,单机的平均QPS可以到达800-1000,单独看写的业务量很简单 。为什么我们又不能说轻视它?第一,我们看它的数据存储,每天一百万的话,一年数据量的规模是多少?其次,刚才说的订单量,每一个订单要推送给附近的司机、司机要并
发抢单,后面业务场景的访问量往往是前者的上百倍,轻松就超过上亿级别了。
今天我想从架构的本质谈起之后,希望大家理解在做一些建构设计的时候,它的出发点以及它解决的问题是什么。
架构,刚开始的解释是我从知乎上看到的。什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像。更抽象一点,说架构其 实 是 对 我 们 重复性业务 的抽象和我 们 未来 业务 拓展的前瞻,强调过去的经验和你对整个行业的预见。
我们要想做一个架构的话需要哪些能力?我觉得最重要的是架构师一个最重要的能力就是你要有 战 略分解能力。这个怎么来看呢:
第一,你必须要有抽象的能力,抽象的能力最基本就是去重,去重在整个架构中体现在方方面面,从定义一个函数,到定义一个类,到提供的一个服务,以及模板,背后都是要去重提高可复用率。
第二, 分类能力。做软件需要做对象的解耦,要定义对象的属性和方法,做分布式系统的时候要做服务的拆分和模块化,要定义服务的接口和规范。
第三, 算法(性能),它的价值体现在提升系统的性能,所有性能的提升,最终都会落到CPU,内存,IO和网络这4大块上。
这一页PPT举了一些例子来更深入的理解常见技术背后的架构理念。
第一个例子,在分布式系统我们会做 MySQL分 库 分表,我们要从不同的库和表中读取数据,这样的抽象最直观就是使用模板,因为绝大多数SQL语义是相同的,除了路由到哪个库哪个表,如果不使用Proxy中间件,模板就是性价比最高的方法。
第二看一下加速网络的CDN,它是做速度方面的性能提升,刚才我们也提到从CPU、内存、IO、网络四个方面来考虑,CDN本质上一个是做网络智能调度优化,另一个是多级缓存优化。
第三个看一下服务化,刚才已经提到了,各个大网站转型过程中一定会做服务化,其实它就是做抽象和做服务的拆分。第四个看一下消息队列,本质上还是做分类,只不过不是两个边际清晰的类,而是把两个边际不清晰的子系统通过队列解构并且异步化。
新浪微博整体架构是什么样的
接下我们看一下微博整体架构,到一定量级的系统整个架构都会变成三层,客户端包括WEB、安卓和IOS,这里就不说了。
接着还都会有一个接口层, 有三个主要作用:
第一个作用,要做 安全隔离,因为前端节点都是直接和用户交互,需要防范各种恶意攻击;
第二个还充当着一个 流量控制的作用,大家知道,在2014年春节的时候,微信红包,每分钟8亿多次的请求,其实真正到它后台的请求量,只有十万左右的数量级(这里的数据可能不准),剩余的流量在接口层就被挡住了;
第三,我们看对 PC 端和移 动 端的需求不一样的,所以我们可以进行拆分。接口层之后是后台,可以看到微博后台有三大块:
一个是 平台服 务,
第二, 搜索,
第三, 大数据。
到了后台的各种服务其实都是处理的数据。 像平台的业务部门,做的就是 数据存储和读 取,对搜索来说做的是 数据的 检 索,对大数据来说是做的数据的 挖掘。微博其实和淘宝是很类似
微博其实和淘宝是很类似的。一般来说,第一代架构,基本上能支撑到用户到 百万 级别,到第二代架构基本能支撑到 千万 级别都没什么问题,当业务规模到 亿级别时,需要第三代的架构。
从 LAMP 的架构到面向服 务 的架构,有几个地方是非常难的,首先不可能在第一代基础上通过简单的修修补补满足用户量快速增长的,同时线上业务又不能停, 这是我们常说的 在 飞 机上 换 引擎的 问题。前两天我有一个朋友问我,说他在内部推行服务化的时候,把一个模块服务化做完了,其他部门就是不接。我建议在做服务化的时候,首先更多是偏向业务的梳理,同时要找准一个很好的切入点,既有架构和服务化上的提升,业务方也要有收益,比如提升性能或者降低维护成本同时升级过程要平滑,建议开始从原子化服务切入,比如基础的用户服务, 基础的短消息服务,基础的推送服务。 第二,就是可 以做无状 态 服 务,后面会详细讲,还有数据量大了后需要做数据Sharding,后面会将。 第三代 架构 要解决的 问题,就是用户量和业务趋于稳步增加(相对爆发期的指数级增长),更多考虑技术框架的稳定性, 提升系统整体的性能,降低成本,还有对整个系统监控的完善和升级。
大型网站的系统架构是如何演变的
我们通过通过数据看一下它的挑战,PV是在10亿级别,QPS在百万,数据量在千亿级别。我们可用性,就是SLA要求4个9,接口响应最多不能超过150毫秒,线上所有的故障必须得在5分钟内解决完。如果说5分钟没处理呢?那会影响你年终的绩效考核。2015年微博DAU已经过亿。我们系统有上百个微服务,每周会有两次的常规上线和不限次数的紧急上线。我们的挑战都一样,就是数据量,bigger and bigger,用户体验是faster and faster,业务是more and more。互联网业务更多是产品体验驱动, 技 术 在 产 品 体验上最有效的贡献 , 就是你的性能 越来越好 。 每次降低加载一个页面的时间,都可以间接的降低这个页面上用户的流失率。
微博的技术挑战和正交分解法解析架构
下面看一下 第三代的 架构 图 以及 我 们 怎么用正交分解法 阐 述。 我们可以看到我们从两个维度,横轴和纵轴可以看到。 一个 维 度 是 水平的 分层 拆分,第二从垂直的维度会做拆分。水平的维度从接口层、到服务层到数据存储层。垂直怎么拆分,会用业务架构、技术架构、监控平台、服务治理等等来处理。我相信到第二代的时候很多架构已
经有了业务架构和技术架构的拆分。我们看一下, 接口层有feed、用户关系、通讯接口;服务层,SOA里有基层服务、原子服务和组合服务,在微博我们只有原子服务和组合服务。原子服务不依赖于任何其他服务,组合服务由几个原子服务和自己的业务逻辑构建而成 ,资源层负责海量数据的存储(后面例子会详细讲)。技 术框架解决 独立于 业务 的海量高并发场景下的技术难题,由众多的技术组件共同构建而成 。在接口层,微博使用JERSY框架,帮助你做参数的解析,参数的验证,序列化和反序列化;资源层,主要是缓存、DB相关的各类组件,比如Cache组件和对象库组件。监 控平台和服 务 治理 , 完成系统服务的像素级监控,对分布式系统做提前诊断、预警以及治理。包含了SLA规则的制定、服务监控、服务调用链监控、流量监控、错误异常监控、线上灰度发布上线系统、线上扩容缩容调度系统等。您好NBA现有30支球队,分别是
圣安东尼奥马刺队、明尼苏达森林狼队、萨克拉门托国王队、迈阿密热队、底特律活塞队、波士顿凯尔特人队、孟菲斯灰熊队、丹佛掘金队、菲尼克斯太阳队、奥兰多魔术队、印第安纳步行者队、费城76人队、达拉斯小牛队、尤他爵士队、洛杉矶湖人队、亚特兰大老鹰队、克里夫兰骑士队、纽约尼克斯队、休斯顿火箭队、波特兰开拓者、队洛杉矶快船队、华盛顿奇才队、芝加哥公牛、队布鲁克林篮网队、新奥尔良鹈鹕队、俄克拉荷马雷霆队、金州勇士队、夏洛特黄蜂队、密尔沃基雄鹿队、多伦多猛龙队
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)