基本信息
编辑推荐
√ 星光熠熠的技术翘楚
√ 匠心独具的破局思路
√ 业界首创的一线实践
√ 千锤百炼的专题精华
内容简介
作译者
目录
郭斯杰/1.1 Twitter 高性能分布式日志系统架构解析 1
1.1.1 为什么需要分布式日志. 1
1.1.2 Twitter 如何考虑这个问题 4
1.1.3 基于Apache BookKeeper 构建DistributeLog 5
1.1.4 DistributeLog 案例分享13
1.1.5 疑问与解惑.13
颜国平/1.2 腾讯基于用户画像大数据的电商防刷架构.16
1.2.1 背景介绍16
1.2.2 黑产现状介绍16
1.2.3 腾讯内部防刷架构18
1.2.4 腾讯大数据收集维度.20
1.2.5 腾讯大数据处理平台--魔方21
1.2.6 疑问与解惑.24
王渊命/1.3 如何设计类似微信的多终端数据同步协议:Grouk 实践分享.26
1.3.1 移动互联网时代多终端数据同步面临的挑战26
1.3.2 多终端数据同步与传统消息投递协议的差异27
1.3.3 Grouk 在多终端数据同步协议上的探索实践.28
1.3.4 疑问与解惑.32
周 洋/1.4 如何实现支持数亿用户的长连消息系统:Golang 高并发案例33
前言
搭建高并发及高可用大型系统长期都是业界难题,Twitter在创建之初,也多次出现不稳定甚至宕机的现象。不少架构师可能有同感,大型系统中任何一个小的模块设计不慎,就可能会导致部分用户访问失败,甚至全站不能访问的后果,给用户体验带来巨大的伤害。因此在微博核心系统中,团队中的架构师将系统可用性作为设计的首要考虑因素,如履薄冰,一路走来,终于在可用性方面跟同类产品相比取得了更好的成绩。类似的,系统可用性也应该是大部分互联网系统架构最基本的要求,这也是笔者发起及参与高可用架构社区的原因。
系统的可用性在过去、现在以及未来都是架构领域最重要的一个环节,但是相关的知识并没有太多现成的渠道可以获取。物以类聚,人以群分,高可用架构技术社区聚集了业界关注互联网架构的人群,并将各大一线公司具有丰富经验的架构师在社区的分享沉淀成本书中的文章。此外社区也举办全国各地架构主题的技术沙龙、每年一度的全球互联网架构大会以及以高并发为主题的编程竞赛活动,是学习及了解架构最有效的圈子。本书内容是高可用架构社区众多讲师对架构领域内容的一个阶段总结,也是社区长期活动的一个结晶。
带给我们架构方面启发的未必需要长篇大论,像上面提到的各种形式的偏重实践的架构总结与思考的文章,往往会带给我们更多帮助。无独有偶,短小的技术启迪文章在历史上也广受欢迎,笔者喜欢的《编程珠玑》一书中就提到,Jon Bentley在《ACM通讯》发表的有关编程的短文竟然成为了该学术期刊的王牌栏目之一,给工程师带来的启发一直影响至今。希望本书中各种架构设计思想,也能够长期伴随读者的技术职业生涯。
本书感谢Carson、陈刚、杜日旭、方圆、付海军、郭军、国忠、胡淼、计盛宇、李庆丰、刘世杰、刘伟、刘芸、吕涛、莫俊彬、秋翾、邓启明、苏传朋、苏小勇、四正、王杰、熊炼、侠天、余长洪、永莉、叶青、尹雯玉、魏佳、曾健生、臧秀涛等高可用架构志愿者对本书内容的大力贡献(按姓名拼音为序,由于篇幅关系所有志愿者未能全部列出),如果没有他们出于技术的热爱对优秀架构思想分享的推动,也不会有本书的内容。在此,对上述所有付出时间的志愿者表示由衷的感谢。
杨卫华 微博研发副总经理,高可用架构技术社区共同发起人
2017.9.26
序言
他人的架构经验能带给我们很多启发,我个人的体会是,更值得关注的或许不是别人成功的经验,反而是项目中失败的教训。不同系统之间的架构有区别,成功的经验未必能完全套用,但如果牢记他们走过的弯路,了解已经发生的问题背后的机制与原因,可以避免踩进相同的坑里面,可以让我们自己设计的系统运行得更加平稳。
在2010年前后,类似微博这样的大型的社交网络成了一个业界难题,Twitter当时也出现多次不稳定甚至宕机的现象,我们了解到在一个社交网络系统中,关键流程中任何一个小的服务设计不慎,就可能导致部分用户以及全站不能访问的后果,给用户体验带来巨大的损害,也不利于用户增长。因此在微博核心系统中,我们将系统可用性作为设计的首要考虑因素,如履薄冰,一路走来,终于在可用性方面跟同类产品相比取得了更好的成绩。类似的,系统可用性是大部分互联网系统架构最基本的要求。
系统的可用性在过去、现在以及未来都是架构领域最重要的一个环节,但是很多希望自己在架构进一步提升的工程师发现,跟高可用架构相关的知识并没有太多现成的渠道可以获取。物以类聚,人以群分,高可用架构技术社区聚集了业界关注架构可用性的一类人群,通过互联网探讨架构方面的问题,并邀请各大互联网公司的一线架构师在线上分享,也举办全国各地以架构为主题的技术沙龙、每年一度的全球互联网架构大会(thegiac.com)以及以高并发为主题的编程竞赛活动,是学习及了解架构最有效的圈子。本书内容是高可用架构社区众多讲师对架构领域内容的一个阶段总结,也是社区长期活动的一个结晶。
感谢Carson、陈刚、杜日旭、方圆、付海军、郭军、国忠、胡淼、计盛宇、李庆丰、刘世杰、刘伟、刘芸、吕涛、莫俊彬、秋翾、邓启明、苏传朋、苏小勇、四正、王杰、熊炼、侠天、余长洪、永莉、叶青、尹雯玉、魏佳、曾健生、臧秀涛等志愿者对本书内容的大力贡献(按姓名拼音排序,由于人数众多,所有人员未能全部列出),如果没有他们的贡献,可能不会有本书,在此,笔者对所有付出辛苦劳动的社区志愿者表示由衷的感谢。
杨卫华 微博研发副总经理,高可用架构技术社区共同发起人
2017.9.6
媒体评论
张亮 当当架构部总监
系统的高可用架构梳理,各大互联网公司的高可用实践,能落地的高可用细节,相信不管在互联网做技术多少年,阅读本书后,你一定会有收获,推荐。
58沈剑 架构师之路作者
2017年我国移动互联网用户已经突破7亿,互联网用户可以选择的服务越来越丰富。而互联网服务的可用性,直接关乎提供这些互联网服务的公司的营收和业绩报表。众多的流量涌入互联网公司的服务器,在高并发的场景下,使用高可用架构会有效改善服务的可用性。本书汇集了业界很多领先公司在高可用方向上的实践经验,以及在各类业务场景下实现高可用架构的实操案例,希望本书能给你带来在高可用架构设计上的一些启发。
付海军 时趣互动技术总监
很高兴看到《高可用架构(第1卷)》一书的面世,更高兴看到杨卫华老师的"高可用架构"公众号还在坚持运营,这是技术社区的福音。架构的重要性不言而喻,这本书里除了我的篇章外,每篇文章都阐述了和架构相关的一个技术点,而且都包含了一线研发人员的实际经验,相信你会很感兴趣并收获多多。
霍泰稳 极客邦科技创始人兼CEO
《高可用架构(第1卷)》在讲述高可用架构的理论知识之外,更重要的是收录了众多知名互联网公司专家骨干的一线实战经验,包含了各个优秀团队在面对业界前沿的棘手问题时所做的探索和取舍,相信各位读者在读完本书之后会对架构这个话题有全新的认识。
秦迪 微博平台及大数据技术专家
在最近这两三年里,国内的技术社群飞速发展,"高可用架构"便是其中的代表,它汇聚了国内中的一批真正的技术专家,专注技术的分享和交流。这本书是现在中国互联网技术发展的一个缩影,见证了它从封闭走向分享和开放,从跟随走向参与和引领。
希望每个工程师都能读读这本书,体会技术带来的乐趣。
温铭 OpenResty Inc. 合伙人,工程师
在学习编程时,我们有很多教程类的书籍可利用,但要学习架构,就很难有教程了。而这本书的内容是直接来自一线的架构实践经验总结,虽然内容跨度比较大,但这正是在其他教程类型的书中很难学习到的,所以推荐给进阶的研发人员。另外,即便同在软件研发行业,细分起来,领域的区隔还是很大的,看看同行的一些实践经验,即便不能拿来直接用,但对解决自己面临的难题还是会有帮助的。
王渊命 青云容器平台负责人,前微博架构师,技术写作者
书摘
高可用架构居然成书了,厚厚的一本,让人赞叹。从TimYang建立这个社群开始,我就一直参与其中,然而一切发生得如此之快,如此之自然,也是出乎意料。我想,这也是侠少约我写序的原因之一吧。
这里面有太多熟悉的朋友,确切地说,我跟他们中的大多数人都是很好的朋友。他们都乐于将自己的所知所学分享给社区,而我也每每从他们那里学到各种技术。
你可能会惊讶于本书内容的跨度之大,从业务系统到数据库,从容器到安全,从社区建设到行业观察,包罗万象。同时,讲解内容又实实在在,没有很多空话,偶有没说清楚的地方,肯定会有问答环节来补充说明。因为都是群内听讲的人提问,所以问答也非常契合主题。
这就保证了本书在特定章节上,比大多数同类书要讲得透彻、明白,适合初级人员阅读。同时,又对中高级技术人员有更大的价值。我们经常说架构师对技术的把握要有深度,也要有广度。广度从何而来,只能是读万卷书,阅千套系统积累而来。本书无疑是一个很好的素材源泉。
具体的内容我不在此赘述,相信大家仔细阅读后会收获颇丰。这里我还是介绍一下背后的这群人--这个由分享者和听众共同组成的大群体,这个称为高可用架构群的组织。
我经常讲,高可用架构这些群,像极了《一代宗师》里的金楼。因为你仔细看,技术圈就是互联网时代的武林。大家聚在这里,是因为在自己的领域里有所建树,都身怀绝技面对这个世界。所以我们会看到骄傲和拼搏,也会看到争论。因为很多人也都想着,功夫是一横一竖,站着的才有资格说话,错的,躺下。
但是幸运的是,他们找到了一种方式,来平息这种内心的躁动,就是通过在群里进行分享和答疑来进行「比武」。你说你的方式可行,就来分享吧。只要你的话我能懂,只要你的回答能使我满意,我便服气。而且慢慢地,大家也都认可了这种方式,技术领域之宽广,并非一个人可以统领。而承认一个人在某一个领域比你强并不丢人,更并不意味着你不可以在另外的领域独领风骚。
随着时间的流逝,这种技术驱动的交流也慢慢发酵成了真正的友情。金楼戏里最让我感动的一幕。叶问比武前,金楼里的各位师傅都出来帮忙。三姐说,八卦手黑,小心。账房说,形意拳霸道,千万别轻敌。勇哥说,追风赶月别留情,你一定得响啊。
因为过去的这些坦诚交往,那些原本会被视为对手的人,在你遇到困难的时候,可以坚定地站在你身后。而当你遇到各种行业上的新事件,也会在群里表达自己真实的声音,期待从群里接收来自各方的诤言。
一群所学为一人学,一人可顶一群人。
这种健康的氛围,在技术圈里也愈发变得可贵。现在互联网在迅猛发展,很多新的技术被发明和引入了进来,碰撞和争论在所难免。但有一些圈子却变得特别吵闹,为了一个框架,为了一个语言就可以争到头破血流,发出各种攻击和谩骂,甚至堵上事业和人品,想想实在是让人遗憾。
高可用架构的这群人,他们都是工作在各个公司的一线技术管理人员,掌握着业界先进的工程技术。但其实他们也很普通,跟你一样,每天都在默默得工作和学习。不一样的是,他们可以聚在一起,输出这样优质的内容。
他们对技术的追求,他们共同的性格特质,也许更值得你体会。如果看完本书,你能够在技术理念有进一步的思考,那肯定是比看一本书本身收获更大的。
"其实天下之大,又何止南北?勉强求全等于固步自封,在你眼中这块饼是一个武林,对我来讲是一个世界。所谓大成若缺,有缺憾才能有进步,真管用的话,南拳又何止北传呐?"
我在叶先生出生的佛山旁边,广州,脑海中不断回响这段话。
一乐 环信首席架构师兼云通讯事业部总经理