逆流而上:阿里巴巴技术成长之路图书
人气:10

逆流而上:阿里巴巴技术成长之路

涉及基础、架构、SQL、云计算、业务研发、运营管理等领域,阿里技术保障部力作,内容以案例形式讲解.
  • 所属分类:图书 >计算机/网络>项目管理 IT人文  
  • 作者:[阿里巴巴集团成长集编委会]
  • 产品参数:
  • 丛书名:--
  • 国际刊号:9787121327681
  • 出版社:电子工业出版社
  • 出版时间:2018-01
  • 印刷时间:2018-01-01
  • 版次:1
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装-胶订
  • 套装:

内容简介

《逆流而上:阿里巴巴技术成长之路》是阿里巴巴集团荣耀背后的技术血泪史。《逆流而上:阿里巴巴技术成长之路》通过分享业务运行过程中各个领域发生的典型“踩坑”案例,帮助大家快速提升自我及团队协作,学习到宝贵的处理经验及实践方案,为互联网生产系统的稳定共同努力。从基础架构、中间件、数据库、云计算、大数据等技术领域中不断积累经验,颠覆技术瓶颈,不断创新以适应不断增长的需求。

《逆流而上:阿里巴巴技术成长之路》主要面向互联网技术从业人员和在校师生,使读者能够通过此书基本了解阿里在各技术领域的能力,学习在如此规模下可能出现的问题以及解决方案的探讨和沉淀分享。

编辑推荐

本书主要面向互联网技术从业人员和在校师生,使读者能够通过此书基本了解阿里在各技术领域的能力,学习在如此规模下可能出现

作者简介

阿里巴巴集团成长集编委会

由阿里巴巴集团不同业务线及不同技术领域内的人员组成的虚拟组织。技术人员都知道软件开发过程中的八二原则,理解大多数问题发生在何处,发生的原因,如何解决,变得尤为重要。阿里巴巴集团业务飞速发展,技术人员积累了大量丰富的线上问题排查及解决的案例和经验。

成长集编委会从中挑选了一些的技术案例,侧重于对问题的还原和分析。我们希望,曾经踩过的坑都能具有其意义和使命,而后来者通过学习前人的经验,防微杜渐,快速成长。

目录

第1 章 基础架构高可用 1

1.1 明察秋毫,域名解析排查技巧 2

1.2 智能定位,网络端到端静默丢包点迅速锁定 .14

1.3 灵活调度,对接运营商网络流量的容灾策略 21

1.4 抽丝剥茧,深挖云盘挂起背后的真相 . 25

1.5 存储的底线,SSD 数据不一致 34

第2 章 中间件使用常见隐患与预防 . 40

2.1 高并发“热点”缓存数据快速“退火” 41

2.2 自我保护,让系统坚如磐石 45

2.3 机房容灾,VIPServer 软负载流量调度实例 51

2.4 山洪暴发,高流量触发Tomcat bug 引起集群崩溃 .65

第3 章 数据库常见问题 . 80

3.1 性能杀手,SQL 执行计划 . 81

3.2 波谲云诡,数据库延迟 . 92

3.3 风暴来袭,AliSQL 连接池调优 102

3.4 防患于未然,ORM 规约变更案例 110

3.5 云数据库,SQL 优化经典案例 114

第4 章 业务研发经典案例 . 133

4.1 幂等控制,分布式锁超时情况和业务重试的并发 134

4.2 另类解法,分布式一致性 139

4.3 大道至简,从故障模型的边界状态切换到原始状态 143

4.4 疑案追踪,JSON 序列化不一致 154

4.5 从现象到本质,不保障顺序的Class.getMethods JVM 实现 . 163

4.6 破解超时迷局,浅析启动初期load 飙高问题 172

4.7 洞悉千丝万缕,浅谈JIT 编译优化的误区 180

第5 章 运行管理域稳定性建设 187

5.1 洞若观火,让故障无处遁形 188

5.2 体系化思考,高效解决运营商问题 197

5.3 以战养兵,以故障演练提升系统稳定性 203

在线预览

第1 章

基础架构高可用

互联网、电子商务、云计算、大数据等领域都离不开基础设施建设,基础设施的建设包含从服务器到IDC、网络等一系列的过程。技术日新月异变化的过程,也给基础设施的建设带来了巨大的挑战。如何用研发能力解决基础设施稳定性是基础架构不断提升核心竞争力的关键。本章从线上案例入手,从基础架构角度介绍了问题排查思路和创新设计概念,希望给读者带来启迪。

1.1 明察秋毫,域名解析排查技巧

背景

网站服务是现在众多互联网服务中应用最广泛的服务之一,而且中国的网络环境更为复杂,几乎每个应用都会使用到域名。域名在互联网应用中是非常重要的一环,万一出现问题可能会导致整个网站无法访问,并且由于各地DNS(Domain Name System,域名系统)缓存,有时候恢复解析所需时间会比较长。本节针对几种典型的域名解析问题,做了简单的排查

思路介绍,以期与读者交流。域名解析的过程

用户使用终端(电脑、手机、Pad 等)上网时,电脑会设置一组DNS(即缓存DNS,又叫Local DNS)作为一层“”、“缓存”,为当地局域

网或其他用户提供高性能的解析迭代查询。这个缓存DNS 一般是在用户连上网时自动分配的, 不需要手工配置。当用户访问网站时, 如www.example.com,会向缓存 DNS 发送example 对应的地址的查询请求。当缓存DNS 收到请求后,如果其有相应的缓存且没过期,则直接响应;否则,向根DNS、顶级域DNS、主域名对应的DNS 或更下级的DNS

进行查询,直到查询到最终的地址,然后返回给客户端。对网站管理者(更地说,是域名的管理者)来说,需要为域名设置解析,将域名指向自己的网络服务器。购买了域名,一般会使用注册商的DNS(即将注册商提供的DNS 服务器作为购买的域名的DNS 服务

器),或者使用第三方的DNS。如果使用注册商的DNS,设置解析的流程会比较便捷;但如果使用第三方的DNS,需要在第三方添加域名、解析记录,然后在注册商处修改域名的DNS 作为第三方提供的DNS 名字。

在上述描述域名解析的过程中,有两种DNS 的角色:

? 缓存DNS,又叫Local DNS 或Cache DNS,一般是由网络接入服务提供商在近上网用户端做的缓存DNS 服务器,主要用于迭代查询的缓存,其中的数据均来自向上级的查询得到,本身并无实际的数据,这既增加了解析速度,又减少了对DNS 的查询数量,

就好比是数据库中的Memcache。

? DNS,又叫Authority DNS。由域名管理者负责管理,或委托其他DNS 服务提供商进行管理,其中的记录均是由负责本域的管理员添加进来的。DNS 是由上到下一级级授权的,如根DNS(ROOT DNS)将各个后缀授权到各个后缀管理机构的顶级域DNS

(即注册局的DNS),而各个顶级域DNS 中又有指向下级域对应的DNS。

如何判断是否是解析异常

网站无法访问有多种原因,如网络异常、服务器异常、网站配置不正确、服务器异常等。

当你访问网站时,如果打开的页面内容和预期的不同,或报错信息中含有“resolve”相关字样,或提示“找不到网站服务器”时,就应该怀疑是不是解析方面的问题了。排查解析问题用到的基本方法是用dig(或nslookup,本文以dig 为例来说明,nslookup 相关命令请参考其对应的帮助文档)看能否正常解析到最终的IP。__如果无法获取到最终的IP,或者获取到最终的IP 不是网站的实际IP(这个由域名网站管理员判断),就是解析异常了。如下是一个正常的解析(部分域名用example.com/bar.com/bar.net 等指代,部分IP 地址使用1.1.1.1、2.1.1.1、2.2.2.2 等代替,后续类同)。

媒体评论

这本《逆流而上:阿里巴巴技术成长之路》总结了近年来阿里巴巴集团在重要领域中遇到的故障和排查方法。从故障中得到的教训,剖析出来的架构缺陷,折射出来的实现问题以及运维过程中的疏忽和错误都是很真实的,很具有说服力。他山之石,可以攻玉,希望为广大开发和运维工程师带来帮助。

—— 阿里云博学总监 吴结生

古语说:前人栽树,后人乘凉。本书创作旨在让历史的经验传承下去,帮助到更多的人。它汇集了阿里巴巴集团各个BU技术人员在日常工作中所遇到的典型踩坑案例,这些案例全部来自线上生产实践,涉及基础设施、中间件、数据库、业务开发以及稳定性建设,基本涵盖了阿里巴巴所有的技术兵种,这是一本非常的技术踩坑实践书,具有很重要的参考意义。

—— 阿里云研究员 褚霸

阿里巴巴的技术人员日常的研发运维过程,就是不断和新问题斗智斗勇的过程,我们会鼓励把遇到的挑战和问题总结出来,所以在这个过程中积累了大量的总结资料,这些资料有些总结到了产品里,成为架构、系统的一部分,有些不断被学习变成了其他更多同事的新能力。

—— 中间件技术部研究员 小邪

在我带领阿里巴巴GOC(全球运行指挥中心)团队期间,天天面对不断发生的大小故障,尤其是重复发生的故障。而此书恰恰是在这种思考之下所采取的行动之一。成功难以模仿,教训可以学习。每篇文章的背后都是血淋淋的教训,值得每一个技术人员好好阅读。

—— 菜鸟博学专家 王乐

免责声明

更多相关图书
在线咨询