基本信息

编辑推荐
---------------------------分布式系统架构:技术栈详解与快速进阶---------------------------
资深分布式系统研发工程师、架构师多年工作经验总结,从原理、应用和实践3个维度展开
从前端到后端,从网络传输到负载均衡,从事务到数据库,从高并发到高可用,8个维度全面讲解分布式系统的技术栈
---------------------------大规模分布式存储系统:原理解析与架构实战---------------------------
对于淘宝网而言,2012年的“双十一”是一个里程碑,是一个巨大的挑战,在这个“神棍节”里,淘宝创下19l亿元的交易额,在这海量交易的背后隐藏着哪些复杂技术?其中之一就是分布式存储技术。阿里巴巴在大规模分布式存储技术这方面走在了前面,其OceanBase是基于普通Pc服务器的千亿级海量数据库系统,既实现了跨行跨表事务、强数据一致性以及毫秒级的查询修改响应时间,又具备自动故障恢复、自动负载均衡以及良好的扩展性,支持多机房部署。*加难得的是,阿里巴巴把OceanBase开源了,这将进一步快速地推动分布式存储技术的发展。《大规模分布式存储系统(原理解析与架构实战)》作者(杨传辉)是阿里巴巴OceanBase核心开发人员,参与了0ceanBase的设计与开发,对分布式存储系统有深刻的理解,书中将分享他在OceanBase系统开发过程中的实践经验。
内容简介
计算机书籍
---------------------------分布式系统架构:技术栈详解与快速进阶---------------------------
内容简介
本书从全栈角度讲解了分布式系统涉及的各项主要技术,从原理剖析、应用场景和实践案例3个维度展开,是作者多年分布式系统研发和架构经验的总结。
从前端到后端、从高效交互到负载均衡、从网络传输到Web服务器、从高并发到高可用……本书囊括了分布式系统的整个技术体系,内容详实、结构清晰,能帮助读者理解和掌握分布式系统架构设计的难点和调优方案。
全书一共10章,具体内容如下:
第1章介绍了分布式架构的理念、目标、作用,以及架构和设计中的难点;
第2章讲解了分布式架构中前端和后端的交互方式、交互难点、高效交互调优;
第3章讲解了分布式环境下网络传输的过程、难点、性能调优;
第4章讲解了Nginx的负载均衡、页面缓存、限流、高可用、性能调优;
第5章讲解了Varnish的HTTP加速、数据缓存、缓存策略、高可用、性能调优;
第6章讲解了Tomcat的原理、加载机制、安全管理、高可用集群、性能优化;
第7章讲解了分布式环境中高并发的问题,通过多种技术方案,如缓存、消息队列、分布式锁等方式去优化和处理,提高系统整体的吞吐量;
第8章介绍了普通事务与分布式事务的差异性,以及分布式事务的多种处理方式;
第9章讲解了如何通过高效索引优化、高可用的技术方案让MySQL能够提供更高效的数据库服务;
第10章讲解了分布式环境中的高可用,即如何通过容量预估、全链路压测、容灾设计来提高系统整体的可用性和健壮性。
作译者
---------------------------分布式系统架构:技术栈详解与快速进阶---------------------------
张程 著:张程
资深研发工程师和架构师,在分布式系统架构领域有丰富的实战经验,擅长高并发、高可用系统的架构,以及分布式系统的性能调优。
曾就职于格瓦拉电影和优速科技,任职期间参与过多个大型银行系统、大型购票系统、物流订单系统的架构设计和研发工作。曾经还参与过分布式Job调度系统的设计和架构工作。
热衷于技术探索和研发,在CSDN分享了大量关于架构和研发的文章,获得一致好评。
---------------------------大规模分布式存储系统:原理解析与架构实战---------------------------
杨传辉,阿里巴巴**技术专家,花名日照,OceanBase核心开发人员,对分布式系统的理论和工程实践有深刻理解。曾在百度作为核心成员参与类MapReduce系统、类Bigtable系统和百度分布式消息队列等底层基础设施架构工作。热衷于分布式存储和计算系统设计,乐于分享,有技术博客NosqlNotes。
目录
---------------------------分布式系统架构:技术栈详解与快速进阶---------------------------
前 言
第1章 分布式架构介绍 1
1.1 分布式架构发展过程 2
1.2 分布式架构设计理念和目标 6
1.2.1 设计理念 6
1.2.2 设计目标 7
1.3 分布式架构应用场景 10
1.4 分布式架构设计难点 10
1.4.1 网络因素 10
1.4.2 服务可用性 11
1.4.3 数据一致性 12
1.5 分布式架构解决痛点 13
1.6 本章小结 14
第2章 分布式架构前后端交互 15
前言
---------------------------分布式系统架构:技术栈详解与快速进阶---------------------------
为何写作本书
目前市面上有很多分布式架构的书,其中很多都是讲述分布式的某项技术栈,缺少对整个分布式系统的讲解。笔者在分布式领域从业多年,对分布式领域诸多技术栈了解颇深,因此想把心得分享出来,从多个方面去呈现分布式系统架构的多样性和完整性。
本书主要特点
本书从技术原理、高并发、性能优化的角度出发,对分布式环境中因应用场景复杂多变产生的问题,从多种技术层面进行分析,并给出高性能的优化方案和高可用的架构方案。通过本书,读者在实际工作中可以整体提高分布式环境中应用的稳定性。
书中融入了对分布式领域中多种主流技术栈的介绍,能让读者全方位了解关于分布式系统架构的知识。
本书阅读对象
本书是一本关于分布式系统架构的技术型书,适合的阅读对象如下。
对分布式、分布式全栈中使用的技术栈感兴趣的读者。
基础偏弱,想通过学习分布式全栈中的概念、设计思想以加深对分布式理解的技术人员。
基础偏强,想深刻理解并灵活运用分布式全栈中的设计思想、优化方案的技术人员。
如何阅读本书
本书根据分布式环境交互的顺序来构造和安排内容,建议按照目录的顺序依次阅读。全书一共10章,具体如下。
第1章主要介绍分布式的发展过程、分布式架构、分布式架构技术设计难点以及互联网中技术在分布式下的使用。
第2章主要介绍分布式环境下前后端交互发展过程、交互难点和高效交互调优。
序言
---------------------------大规模分布式存储系统:原理解析与架构实战---------------------------
关于分布式系统的知识,可以从大学教科书上找到,许多人还知道Andrew S. Tanenbaum 等人在2002年出版的“分布式系统原理与范型”(Distributed Systems: Principles and Paradigms)这本书。其实分布式系统的理论出现于上个世纪70年代,“Symposium on Principles of Distributed Computing (PODC)”和“International Symposium on Distributed Computing (DISC)”这两个分布式领域的学术会议分别创立于1982年和1985年。然而,分布式系统的广泛应用却是最近十多年的事情,其中的一个原因就是人类活动创造出的数据量远远超出了单个计算机的存储和处理能力。比如,2008年全球互联网的网页超过了1万亿,按平均单个网页10KB计算,就是10PB;又如,一个2亿用户的电信运营商,如果平均每个用户每天拨打接听总共10个电话,每个电话400字节,5年的话费记录总量即为0.2G×10×0.4K×365×5=1.46PB。除了分布式系统,人们还很难有其他高效的手段来存储和处理这些PB级甚至更多的数据。另外一个原因,其实是一个可悲的事实,那就是分布式环境下的编程十分困难。
与单机环境下的编程相比,分布式环境下的编程有两个明显的不同?:首先,分布式环境下会出现一部分计算机工作正常,另一部分计算机工作不正常的情况,程序需要在这种情况下尽可能地正常工作,这个挑战非常大。其次,单机环境下的函数调用常常可以在微秒级内返回,所以除了少数访问外部设备(例如磁盘、网卡等)的函数采用异步方式调用外,大部分函数采用同步调用的方式,编译器和操作系统在调用前后自动保存与恢复程序的上下文;在分布式环境下,计算机之间的函数调用(远程调用,即RPC)的返回时间通常是毫秒或亚毫秒(0.1~1.0毫秒)级,差不多是单机环境的100倍,使用同步方式远远不能发挥现代CPU处理器的性能,所以分布式环境下的RPC通常采用异步调用方式,程序需要自己保存和恢复调用前后的上下文,并需要处理更多的异常。
基于上述原因,很多从事分布式系统相关的开发、测试、维护的朋友十分渴望了解和学习其他分布式系统的实践,可是,这些信息分散在浩瀚的知识海洋中,获取感兴趣的内容相当困难。因此,传辉的“大规模分布式存储系统”一书出现得恰如其时,这是我见过的讲解分布式系统实践最全面的一本书。它不仅介绍了当前业界最常见的分布式系统,还结合了作者自己六年多来的分布式系统开发实践。虽然这本书没有、也不可能包含分布式系统实践的所有内容,但阅读这本书的人一定会深受启发,并且还能够知道去何处获取更深层次的信息和知识。
阳振坤
阿里巴巴高级研究员,基础数据部负责人
媒体评论
---------------------------分布式系统架构:技术栈详解与快速进阶---------------------------
分布式架构已成为IT系统中使用最普遍的架构设计方式之一。从前端架构、应用服务器、高并发、高可用性到分布式事务,本书几乎覆盖了分布式系统架构的方方面面,并且理论与实践结合,是一本带领读者进入分布式世界的优秀指南。
—— 丁威《RocketMQ技术内幕》作者/中通快递资深架构师
市场上有很多关于架构的书,但是内容都比较零散,讲解如何落地的书更少。本书分别从软件架构原理、架构设计与优化、高可用中间件的实践等多个维度对分布式系统的架构进行阐述、分析和整合,推荐阅读。
—— 张登圆通快递架构负责人
张程是一位有丰富跨行业经验的架构师,在通信、物流和教育等多个行业都有丰富的从业经验。本书从原理、应用、实践三个方面剖析了分布式系统架构,无论你是初学者,还是有一定经验的架构师,都可以通过本书获得一些启发。
—— 张瑾简茗科技技术总监
分布式系统架构是每位开发工程师迈向高级架构师的必修课。作者结合自己多年的实战经验,完整地介绍了分布式架构设计的全过程,讲解了架构设计过程中的各种难点、避坑技巧和实战感悟,内容翔实,语言通俗易懂,非常值得推荐。
—— 姜玮车灵通技术总监
分布式架构能有效实现服务层与表现层解耦,支撑开发的各个阶段,加速需求落地,提高功能交付效率,降低运维成本,所以越来越受企业的欢迎。本书由浅至深,阐述了分布式架构在不同阶段的应用,是想要在分布式开发领域实现晋级的读者的必读书。
—— 谢书愉诺亚财富资深前端工程师
---------------------------大规模分布式存储系统:原理解析与架构实战---------------------------
书摘
---------------------------大规模分布式存储系统:原理解析与架构实战---------------------------
第1章概述
Google、Amazon、Alibaba等互联网公司的成功催生了云计算和大数据两大热门领域。无论是云计算、大数据还是互联网公司的各种应用,其后台基础设施的主要目标都是构建低成本、高性能、可扩展、易用的分布式存储系统。
虽然分布式系统研究了很多年,但是,直到近年来,互联网大数据应用的兴起才使得它大规模地应用到工程实践中。相比传统的分布式系统,互联网公司的分布式系统具有两个特点:一个特点是规模大,另一个特点是成本低。不同的需求造就了不同的设计方案,可以这么说,Google等互联网公司重新定义了大规模分布式系统。本章介绍大规模分布式系统的定义与分类。
1.1分布式存储概念
大规模分布式存储系统的定义如下:
“分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务。”
分布式存储系统具有如下几个特性:
可扩展。分布式存储系统可以扩展到几百台甚至几千台的集群规模,而且,随着集群规模的增长,系统整体性能表现为线性增长。
低成本。分布式存储系统的自动容错、自动负载均衡机制使其可以构建在普通PC机之上。另外,线性扩展能力也使得增加、减少机器非常方便,可以实现自动运维。
高性能。无论是针对整个集群还是单台服务器,都要求分布式存储系统具备高性能。
易用。分布式存储系统需要能够提供易用的对外接口,另外,也要求具备完善的监控、运维工具,并能够方便地与其他系统集成,例如,从Hadoop云计算系统导入数据。
分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库,如下所示:
数据分布:如何将数据分布到多台服务器才能够保证数据分布均匀?数据分布到多台服务器后如何实现跨服务器读写操作?
一致性:如何将数据的多个副本复制到多台服务器,即使在异常情况下,也能够保证不同副本之间的数据一致性?