分布式系统常用技术及案例分析(第2版)柳伟卫 pdf下载

分布式系统常用技术及案例分析(第2版)柳伟卫 百度网盘pdf下载

作者:
简介:分布式系统常用技术及案例分析(第2版)柳伟卫
出版社:
出版时间:2019-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:柳伟卫 著
定  价:99
出 版 社:电子工业出版社
出版日期:2019年01月01日
页  数:541
装  帧:平装
ISBN:9787121356773
 
章分布式系统基础知识
1.1概述
1.1.1什么是分布式系统
1.1.2集中式系统与分布式系统
1.1.3如何设计分布式系统
1.1.4分布式系统所面临的挑战
1.2线程
1.2.1什么是线程
1.2.2进程和线程
1.2.3线程和纤程
1.2.4编程语言中的线程对象
1.2.5SimpleThreads示例
1.3通信
1.3.1网络I/O模型的演进
1.3.2远程过程调用(RPC)
1.3.3面向消息的通信
1.4一致性
1.4.1以数据为中心的一致性模型
1.4.2以客户为中心的一致性
1.5容错性
1.5.1基本概念
1.5.2故障分类
1.5.3使用冗余来掩盖故障
1.5.4分布式提交
1.6CAP理论
1.6.1什么是CAP理论
1.6.2为什么CAP只能三选二
1.6.3CAP常见模型
1.6.4CAP的意义
1.6.5CAP新发展
1.7安全性
1.7.1基本概念
1.7.2加密算法
1.7.3安全通道
1.7.4访问控制
1.8并发
1.8.1线程与并发
1.8.2并发与并行
1.8.3并发带来的风险
1.8.4同步(Synchronization)
1.8.5原子访问(AtomicAccess)
1.8.6无锁化设计提升并发能力
1.8.7缓存提升并发能力
1.8.8更细颗粒度的并发单元
第2章分布式系统架构体系
2.1基于对象的体系结构
2.1.1分布式对象
2.1.2JavaRMI
2.2面向服务的架构(SOA)
2.2.1SOA的基本概念
2.2.2基于WebServices的SOA
2.2.3SOA的演变
2.3REST风格的架构
2.3.1什么是REST
2.3.2REST有哪些特征
2.3.3Java实现REST的例子
2.3.4RESTAPI佳实践
2.4微服务架构(MSA)
2.4.1什么是MSA
2.4.2MSA与SOA
2.4.3何时采用MSA
2.4.4如何构建微服务
2.5容器技术
2.5.1虚拟化技术
2.5.2容器与虚拟机
2.5.3基于容器的持续部署
2.6Serverless架构
2.6.1什么是Serverless架构
2.6.2Serverless典型的应用场景
2.6.3Serverless架构原则
2.6.4例子:使用Serverless实现游戏同服
第3章分布式消息服务
3.1分布式消息概述
3.1.1基本概念
3.1.2使用场景
3.1.3常用技术
3.2ApacheActiveMQ
3.2.1例子:producer-consumer
3.2.2例子:使用JMX来监控ActiveMQ
3.2.3例子:使用Java实现producer-consumer
3.3RabbitMQ
3.3.1例子:WorkQueues
3.3.2例子:Publish/Subscribe
3.3.3例子:Routing
3.3.4例子:Topics
3.3.5例子:RPC
3.4ApacheRocketMQ
3.4.1例子:使用Java实现producer-consumer
3.4.2RocketMQ佳实践
3.5ApacheKafka
3.5.1ApacheKafka的核心概念
3.5.2ApacheKafka的使用场景
3.6实战:基于JMS的消息发送和接收
3.6.1项目概述
3.6.2项目配置
3.6.3编码实现
3.6.4运行
第4章分布式计算
4.1分布式计算概述
4.1.1使用场景
4.1.2常用技术
4.2MapReduce
4.2.1MapReduce简介
4.2.2MapReduce的编程模型
4.2.3MapReduce接口实现
4.2.4MapReduce的使用技巧
4.3ApacheHadoop
4.3.1ApacheHadoop的核心组件
4.3.2例子:词频统计WordCount程序
4.4Spark
4.4.1Spark简介
4.4.2Spark与Hadoop的关系
4.4.3Spark2.0的新特性
4.4.4Spark集群模式
4.5Mesos
4.5.1Mesos简介
4.5.2设计高可用的Mesosframework
4.6实战:基于Spark的词频统计
4.6.1项目概述
4.6.2项目配置
4.6.3编码实现
4.6.4运行
第5章分布式存储
5.1分布式存储概述
5.1.1使用场景
5.1.2常用技术
5.2Bigtable
5.2.1Bigtable的数据模型
5.2.2Bigtable的实现
5.2.3Bigtable的性能优化
5.3ApacheHBase
5.3.1ApacheHBase的基本概念
5.3.2ApacheHBase的架构
5.4ApacheCassandra
5.4.1ApacheCassandra简介
5.4.2ApacheCassandra的应用场景
5.4.3ApacheCassandra的架构和数据模型
5.4.4用于配置ApacheCassandra的核心组件
5.5Memcached
5.5.1Memcached简介
5.5.2Memcached的架构
5.5.3Memcached客户端
5.6Redis
5.6.1Redis简介
5.6.2Redis的下载与简单使用
5.6.3Redis的数据类型及抽象
5.7MongoDB
5.7.1MongoDB简介
5.7.2MongoDB核心概念
5.7.3MongoDB的数据模型
5.7.4示例:Java连接MongoDB
5.8实战:基于Redis的分布式锁
5.8.1项目概述
5.8.2项目配置
5.8.3编码实现
5.8.4运行
第6章分布式监控
6.1分布式监控概述
6.1.1使用场景
6.1.2常用技术
6.2Nagios
6.2.1Nagios监控
6.2.2Nagios插件
6.3Zabbix
6.3.1Zabbix对容器的支持
6.3.2Zabbix的基本概念
6.4Consul
6.4.1Consul架构
6.4.2Consulagent
6.5ZooKeeper
6.5.1ZooKeeper简介
6.5.2ZooKeeper内部工作原理
6.5.3例子:ZooKeeper实现barrier和producer-consumerqueue
6.6实战:基于ZooKeeper的服务注册和发现
6.6.1项目概述
6.6.2项目配置
6.6.3编码实现
6.6.4运行
第7章分布式版本控制系统
7.1分布式版本控制系统概述
7.1.1集中式与分布式
7.1.2分布式版本控制系统的核心概念
7.2Bazaar
7.2.1Bazaar的核心概念
7.2.2Bazaar的使用
7.3Mercurial
7.3.1Mercurial的核心概念
7.3.2Mercurial的使用
7.4Git
7.4.1Git的基础概念
7.4.2Git的使用
7.5GitFlow―团队协作佳实践
7.5.1分支定义
7.5.2新功能开发工作流
7.5.3Bug修复工作流
7.5.4版本发布工作流
第8章RESTfulAPI、微服务及容器技术
8.1Jersey
8.1.1Jersey简介
8.1.2Jersey的模块和依赖
8.1.3JAX-RS核心概念
8.1.4例子:用SSE构建实时Web应用
8.2SpringBoot
8.2.1SpringBoot简介
8.2.2SpringBoot的安装
8.2.3SpringBoot的使用
8.2.4SpringBoot的属性与配置
8.3Docker
8.3.1Docker简介
8.3.2Docker的核心组成、架构及工作原理
8.3.3Docker的使用
8.4实战:基于Docker构建、运行、发布微服务
8.4.1编写微服务
8.4.2微服务容器化
8.4.3构建Dockerimage
8.4.4运行image
8.4.5访问应用
8.4.6发布微服务

内容简介

本书分两部分,靠前部分主要介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、容错性、CAP理论、安全性和并发等相关内容;同时讲述分布式系统的常见架构体系,其中也包括很近比较火的RESTful风格架构、微服务、容器技术等。第二部分主要列举了在分布式系统应用中经常用到的一些主流技术,并介绍这些技术的作用和用法;这些技术涵盖了分布式消息服务、分布式计算、分布式存储、分布式监控系统、分布式版本控制、RESTful、微服务、容器等领域的内容。
柳伟卫 著
柳伟卫,80后程序员,关注编程、系统架构、性能优化。对技术抱有极大的热情,坚持每天学习。喜欢开源,乐于分享。具有多年软件开发管理及系统架构经验。负责过多个重量及省级大型分布式系统的设计与研发,也参与过多个大型项目系统架构的技术改造。现为某集团技术公司项目经理,负责大型分布式系统的微服务化改造。