Skip to Content
可扩展系统基础
book

可扩展系统基础

by Ian Gorton
May 2025
Beginner to intermediate
340 pages
3h 54m
Chinese
O'Reilly Media, Inc.
Content preview from 可扩展系统基础

序言

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

本书围绕以下论点展开:软件系统的大规模运行能力日益成为决定成功与否的关键因素。随着我们的世界变得更加互联互通,这一特性只会变得更加普遍。因此,本书的目标是为读者提供分布式和并发系统的核心知识。本书还介绍了一系列可用于构建可扩展系统的软件架构方法和分布式技术。

为什么需要可扩展性?

我们这个世界的变革速度令人生畏。创新每天都在出现,为我们所有人创造了新的互动、商务、娱乐......甚至消灭流行病的能力。这些软件由大型互联网公司的开发大军、初创公司的小团队以及介于两者之间的各种形式和规模的团队编写。

交付能够满足用户需求的软件系统已经很困难了,但对于大规模系统来说,难度就更大了。我们都知道,当系统面临意想不到的高负载时会突然发生故障--这种情况对企业来说(最好的情况)是负面宣传,最坏的情况则可能导致失业或公司被毁。

软件与物理系统不同,它是无定形的--它的物理形式(1 和 0)与其实际能力毫无相似之处。我们永远不会指望一夜之间将一个 500 人的小村庄变成一个拥有 1000 万人的城市。但我们有时会期望我们的软件系统能突然处理比设计时多出一千倍的请求。不出所料,结果很少是美好的。

本书适合人群

本书的主要读者对象是在分布式并发系统方面没有经验或经验有限的软件工程师和架构师。他们需要深化自己的理论和实践设计知识,以应对构建更大规模、通常面向互联网的应用程序所带来的挑战。

您将学到什么

本书从可扩展性的角度阐述了并发和分布式系统的全貌。虽然不可能将可扩展性与其他架构特性完全割裂开来,但可扩展性是讨论的重点。当然,其他特性也会发挥作用,如性能、可用性和一致性。

构建分布式系统需要对分布式和并发性有一些基本的了解--这些知识是本书中反复出现的主题。之所以需要这些知识,是因为分布式系统中存在两个基本问题,这两个问题使分布式系统变得复杂,我将在下文中加以阐述。

首先,尽管系统作为一个整体几乎在所有时间都能完美正确地运行,但系统的单个部分随时可能出现故障。当某个组件出现故障时(无论是由于硬件崩溃、网络中断、服务器出现漏洞等原因),我们必须采用一些技术,使系统作为一个整体能够继续运行并从故障中恢复。每个分布式系统都会遇到组件故障,而且往往是以奇怪、神秘和意想不到的方式发生。

其次,创建一个可扩展的分布式系统需要协调多个活动部件。系统的每个组成部分都需要遵守自己的约定,尽快处理请求。如果只有一个组件导致请求延迟,整个系统就可能表现不佳,甚至最终崩溃。

有大量文献可以帮助您解决这些问题。对于我们工程师来说,幸运的是,还有大量的技术可以帮助我们构建容错和可扩展的分布式系统。这些技术体现了理论方法和复杂的算法,要正确构建这些技术非常困难。利用这些平台级的、广泛适用的技术,我们的应用程序可以站在巨人的肩膀上,使我们能够构建复杂的业务解决方案。

具体来说,本书的读者将学到

  • 分布式系统的基本特征,包括状态管理、时间协调、并发性、通信和协调

  • 构建可扩展的稳健服务的架构方法和支持技术

  • 分布式数据库如何运行以及如何用于构建可扩展的分布式系统

  • Apache Kafka 和 Flink 等用于构建流式、基于事件的系统的架构和技术

教育工作者须知

本书的大部分内容是在东北大学本科/研究生高级课程的背景下编写的。事实证明,这是一种非常受欢迎和有效的方法,可以让学生掌握在大型互联网公司开展职业生涯所需的知识和技能。本书网站上的其他资料可为希望使用本书进行教学的教育工作者提供支持。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

高级工程师的职业路径

高级工程师的职业路径

Tanya Reilly
SQL经典实例(第2版)

SQL经典实例(第2版)

Anthony Molinaro, Robert de Graaf
机器学习设计模式

机器学习设计模式

Valliappa Lakshmanan, Sara Robinson, Michael Munn

Publisher Resources

ISBN: 9798341657328