作者:禅与计算机程序设计艺术
1.简介
分布式系统是指将大型计算机系统划分为多个互相协作的、独立的计算机节点(机器)组成的系统结构。本书从系统整体、并行计算、分布式存储、网络通信等方面对分布式系统进行全面介绍,通过通俗易懂的语言和丰富的案例,深入浅出地阐述了分布式系统的概念、技术、方法论及其应用场景。
本书适用于具有一定编程基础的人群,包括系统架构师、开发工程师、技术经理、高级管理人员等。希望借助本书提升技术水平,更好地理解并掌握分布式系统的各个层面知识。
2.基本概念术语说明
分布式系统概念
分布式系统的定义及其特征:
-
分布性(Distributed):指分布式系统由多台计算机硬件或软件组件组成,这些计算机之间通过网络连接起来,可以实现数据的共享和分布处理。
-
冗余性(Redundancy):分布式系统中存在多台服务器同时运行相同的程序,为防止单点故障导致整个系统不可用,引入了冗余机制来提高系统可用性。常用的冗余方案有主从复制和异步复制。
-
可扩展性(Scalability):随着分布式系统的扩大,它需要能够快速响应用户请求、增长容量和减少资源消耗。
-
透明性(Transparency):在分布式系统中,客户端不需要知道分布式系统内部的工作原理,只需要知道提供服务的最终结果即可。
-
数据一致性(Consistency):为了保证数据一致性,分布式系统需要引入一致性协议。最常用的一致性协议