写在前面
毫无疑问,计算机改变了人类的工作和生活方式,而计算机系统也正在进行一场变革。没错,任何一个手机应用,或者智能App,都离不开背后那个神秘的巨人——分布式系统。 正是那些看不见的分布式系统,每天处理着数以亿计的计算,提供可靠而稳定的服务。
那么,学习分布式系统,就要先了解分布式事务。
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
接下来,小编为大家带来这位阿里P8级大佬吐血整理的分布式系统常用技术及案例分析笔记,相信看完后,妈妈再也不会担心你的分布式系统架构技术了QAQ~~~
第1章:分布式系统基础知识
第1章介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、容错性、CAP理论、安全性和并发等相关内容。
章节详细介绍:
-
什么是分布式系统
-
集中式系统VS分布式系统
-
如何设计分布式系统
-
分布式系统所面临的挑战
-
什么是线程
-
进程和线程
-
编程语言中的线程对象
-
网络基础知识
-
网络I/O模型的演进,
-
远程过程调用( RPC )
-
面向消息的通信
-
以数据为中心的一致性模型
-
以客户为中心的一致性
-
容错性基本概念
-
使用冗余来掩盖故障
-
什么是CAP理论
-
为什么说CAP只能三选二
-
CAP最新发展
-
安全性基本概念
-
加密算法
-
同步( Synchronization )
-
原子访问( Atomic Access )
第2章:分布式系统架构体系
第2章详细介绍分布式系统的架构体系,包括传统的基于对象的体系结构、SOA,也包括最近比较火的RESTful风格架构、微服务、容器技术、Serverless 架构等。
章节简介
-
基于对象的体系结构
-
分布式对象
-
面向服务的架构(SOA)
-
架构VS.标准
-
SOA的基本概念
-
基于Web Services的
-
SOA的演变
-
REST风格的架构
-
什么是REST
-
REST有哪些特征
-
Java实现REST的例子
-
RESTAPI 最佳实践
-
什么是微服务架构(MSA)
-
如何构建微服务
-
容器技术
-
虚拟化技术
-
容器VS.虚拟机
-
基于容器的持续部署
-
什么是Serverless架构
-
Serverless典型的应用场景
-
常见的Serverless 框架
第3章:分布式消息服务
第3章介绍常用的分布式消息服务框架,包括Apache ActiveMQ、RabbitMQ、 RocketMQ、Apache Kafka等。
章节简介
-
Apache ActiveMQ简介
-
Apache ActiveMQ安装配置
-
RabbitMQ简介
-
RabbitMQ安装配置
-
RocketMQ简介
-
RocketMQ安装配置
-
Apache Kafka简介
-
Apache Kafka的核心概念
-
Apache Kafka的使用场景
-
Apache Kafka的安装、配置、使用
第4章:分布式计算
第4章介绍分布式计算理论和应用框架方面的内容,包括MapReduce. Apache Hadoop、Apache Spark、Apache Mesos等。
章节简介
-
MapReduce简介
-
MapReduce的编程模型
-
MapReduce的实现
-
MapReduce的使用技巧
-
Apache Hadoop简介
-
Apache Hadoop核心组件
-
Apache Hadoop单节点上的安装配置
-
Apache Hadoop集群.上的安装配置
-
Apache Spark简介
-
Apache Spark与Apache Hadoop的关系
-
Apache Spark 2.0的新特性
-
Apache Spark的安装和使用
-
Apache Spark集群模式
-
Apache Mesos简介
-
Apache Mesos的安装、使用
-
设计高可用的Mesos framework
第5章:分布式存储
第5章介绍分布式存储理论和应用框架方面的内容,包括Bigtable、Apache HBase、Apache Cassandra、Memcached、 Redis、 MongoDB 等。
章节简介
-
Bigtable简介
-
Bigtable的数据模型
-
Bigtable的性能优化
-
Apache HBase简介
-
Apache HBase架构
-
Apache HBase的安装、配置、使用
-
本地伪分布式
-
完全分布式
-
Apache Cassandra简介
-
Apache Cassandra的应用场景
-
Memcached简介
-
Memcached的架构
-
Memcached的安装、使用
-
Redis简介
-
Redis的下载、安装、使用
-
Redis的数据类型及抽象
-
MongoDB简介
-
MongoDB的安装、配置、运行
-
MongoDB核心概念
第6章:分布式监控
第6章介绍分布式监控方面常用的技术,包括Nagios、Zabbix、Consul、ZooKeeper 等。
章节简介
-
Nagios简介
-
Nagios的安装、使用
-
Nagios监控
-
Nagios插件
-
Zabbix简介
-
安装Zabbix
-
Zabbix对于容器的支持
-
Zabbix基本概念
-
Consul简介
-
Consul架构
-
Consul的安装和使用
-
Consul agent
-
ZooKeeper简介
-
ZooKeeper的安装和使用
-
ZooKeeper内部工作原理
第7章:分布式版本控制系统
第7章介绍常用的分布式版本控制工具,包括Bazaar、Mercurial、 Git 等。
章节简介
-
Bazaar简介
-
Bazaar的核心概念
-
Bazaar的安装
-
Bazaar的使用
-
Mercurial简介
-
Mercurial的核心概念
-
Mercurial的安装
-
Mercurial的使用
-
Git简介
-
Git的安装
-
Git的基础概念
-
Git的使用
第8章:RESTful API、微服务及容器技术
第8章介绍RESTful API、微服务及容器相关的技术,着重介绍Jersey. Spring Boot、Docker等技术的应用。
章节简介
-
Jersey简介
-
Jersey的模块和依赖
-
JAX-RS核心概念
-
Spring Boot简介
-
Spring Boot的安装
-
Spring Boot的使用
-
Spring Boot的属性与配置
-
Docker简介
-
Docker的特性
-
Docker的概念和原理
-
Docker Engine的安装
-
Docker的使用
第9章:淘宝网: “双11"神话的缔造者/第10章:Twitter: 实时信息传递的王者
第9章和第10章分别介绍以淘宝网和Twitter为代表的国内外知名互联网企业的大型分布式系统案例,分析其架构设计以及演变过程。
章节简介
-
从L AMP到ava平台的转变
-
坚定不移地走”去IOE"的道路
-
打造云计算,决战双11”
-
缓存,让响应更快
-
服务拆分与治理
-
抗击流量的洪流
写在后面
由于内容过多,为了避免影响到大家的阅读体验,在此只以截图的形式展示部分内容,有需要详细完整版的朋友们