本文档共分为三大部分,即分布式系统基础理论、分布式系统常用技术以及经典的分布式系统案例分析。
第一部分主要介绍分 布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、 容错性、CAP理论、安全性和并发等相关内容;同时讲述分布式系统的常见架构体系,其中也包括最近比较火的RESTful风格架构、微服务、容器技术等。
第二部分主要列举了在分布式系统应用中经常用到的一些主流技术,并介绍这些技术的作用和用法;这些技术涵盖了分布式消息服务、分布式计算、分布式存储、分布式监控系统、分布式版本控制、RESTful、 微服务、容器等领域的内容。
第三部分选取了以淘宝网和Twitter为代表的国内外知名互联网企业的大型分布式系统案例,分析其架构设计以及演变过程;这部分相当于是对第=部分零散的技术点做-一个“ 串烧”,让读者可以结合技术的理论,看到实战的效果。
第一部分,主要介绍分布式系统基础理论知识
第1章介绍分布式系统基础理论知识,总结一-些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、-致性、容错性、CAP理论、安全性合并发等相关内容。
第2章详细介绍分布式系统的架构体系,包括传统的基于对象的体系结构、SOA,也包括最近比较火的RESTful风格架构、微服务、容器技术、Serverless 架构等。
第二部分,主要列举了在分布式系统应用的主流技术
第3章介绍常用的分布式消息服务框架,包括Apache ActiveMQ、RabbitMQ、 RocketMQ、Apache Kafka等。
第4章介绍分布式计算理论和应用框架方面的内容,包括MapReduce、Apache Hadoop、Apache Spark、Apache Mesos等。
第5章介绍分布式存储理论和应用框架方面的内容,包括Bigtable、 Apache HBase、ApacheCassandra、Memcached、 Redis、 MongoDB 等。
第6章介绍分布式监控方面常用的技术,包括Nagios、Zabbix、 Consul、 ZooKeeper 等。
第7章介绍常用的分布式版本控制工具,包括Bazaar、Mercurial、 Git 等。
第8章介绍RESTful API、微服务及容器相关的技术,着重介绍Jersey、Spring Boot、Docker等技术的应用。
三部分,以淘宝网和Twitter为代表的大型分布式系统案例,分析其架构设计以及演变过程。
第9章和第10章分别介绍以淘宝网和Twitter为代表的国内外知名互联网企业的大型分布式系统案例,分析其架构设计以及演变过程。