正版全新  分布式常用技术及案例分析 第2版+分布式消息中间件实践 2本 分布式架构开发设计书籍pdf下载

正版全新 分布式常用技术及案例分析 第2版+分布式消息中间件实践 2本 分布式架构开发设计书籍百度网盘pdf下载

作者:
简介:正版全新 分布式常用技术及案例分析 第2版+分布式消息中间件实践 2本 分布式架构开发设计书籍
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


9787000006634


9787121356773+9787121349058

 分布式常用技术及案例分析 第2版





本书分两部分,一部分主要介绍分布式基础理论知识,总结一些在设计分布式时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、容错性、CAP理论、安全性和并发等相关内容;同时讲述分布式的常见架构体系,其中也包括近比较火的RESTful风格架构、微服务、容器技术等。二部分主要列举了在分布式应用中经常用到的一些主流技术,并介绍这些技术的作用和用法;这些技术涵盖了分布式消息服务、分布式计算、分布式存储、分布式监控、分布式版本控制、RESTful、微服务、容器等领域的内容。 


柳伟卫,网名老卫(waylau),在 IT 公司担任项目经理、架构师、开发顾问等职位,具有多年软件开发管理及架构经验。负责过多个省、大型分布式的设计与研发,参与了多个大型项目的微服务架构的技术改造,在实际工作中,积累了大量的分布式及微服务架构经验。业余时间创建了 waylau.com 网站,用于分享个人技术心得。喜欢开源,长期跃于各大开源社区,是 CSDN、 开源中国、云栖社区等技术社区专家。为开源社区无私编著了《Spring Framework 4.x参考文档》、《Netty 实战(精髓)》、《REST 实战》、《分布式 Java》、《Spring Boot 教程》、《Spring Security 教程》、《Thymeleaf 教程》等近30余篇技术教程,广受网友好评。其中出版了《分布式常用技术及案例分析》、《Spring Boot 企业级应用开发实战》、《Spring Cloud 微服务架构开发实战》等专著。 

关联

本书主要面向的读者是对分布式感兴趣的计算机学生、软件工程师、架构师等。 

目  录


第1章 分布式基础知识
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.5 SimpleThreads示例
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.6 CAP理论
1.6.1 什么是CAP理论
1.6.2 为什么CAP只能三选二
1.6.3 CAP常见模型
1.6.4 CAP的意义
1.6.5 CAP新发展
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 原子访问(Atomic Access)
1.8.6 无锁化设计提升并发能力
1.8.7 缓存提升并发能力
1.8.8 更细颗粒度的并发单元
第2章 分布式架构体系
2.1 基于对象的体系结构
2.1.1 分布式对象
2.1.2 Java RMI
2.2 面向服务的架构(SOA)
2.2.1 SOA的基本概念
2.2.2 基于Web Services的SOA
2.2.3 SOA的演变
2.3 REST风格的架构
2.3.1 什么是REST
2.3.2 REST有哪些特征
2.3.3 Java实现REST的例子
2.3.4 REST API佳实践
2.4 微服务架构(MSA)
2.4.1 什么是MSA
2.4.2 MSA与SOA
2.4.3 何时采用MSA
2.4.4 如何构建微服务
2.5 容器技术
2.5.1 虚拟化技术
2.5.2 容器与虚拟机
2.5.3 基于容器的持续部署
2.6 Serverless架构
2.6.1 什么是Serverless架构
2.6.2 Serverless典型的应用场景
2.6.3 Serverless架构原则
2.6.4 例子:使用Serverless实现游戏同服
第3章 分布式消息服务
3.1 分布式消息概述
3.1.1 基本概念
3.1.2 使用场景
3.1.3 常用技术
3.2 Apache ActiveMQ
3.2.1 例子:producer-consumer
3.2.2 例子:使用JMX来监控ActiveMQ
3.2.3 例子:使用Java实现producer-consumer
3.3 RabbitMQ
3.3.1 例子:Work Queues
3.3.2 例子:Publish/Subscribe
3.3.3 例子:Routing
3.3.4 例子:Topics
3.3.5 例子:RPC
3.4 Apache RocketMQ
3.4.1 例子:使用Java实现producer-consumer
3.4.2 RocketMQ佳实践
3.5 Apache Kafka
3.5.1 Apache Kafka的核心概念
3.5.2 Apache Kafka的使用场景
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.2 MapReduce
4.2.1 MapReduce简介
4.2.2 MapReduce的编程模型
4.2.3 MapReduce接口实现
4.2.4 MapReduce的使用技巧
4.3 Apache Hadoop
4.3.1 Apache Hadoop的核心组件
4.3.2 例子:词频统计WordCount程序
4.4 Spark
4.4.1 Spark简介
4.4.2 Spark与Hadoop的关系
4.4.3 Spark 2.0的新特性
4.4.4 Spark集群模式
4.5 Mesos
4.5.1 Mesos简介
4.5.2 设计高可用的Mesos framework
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.2 Bigtable
5.2.1 Bigtable的数据模型
5.2.2 Bigtable的实现
5.2.3 Bigtable的性能优化
5.3 Apache HBase
5.3.1 Apache HBase的基本概念
5.3.2 Apache HBase的架构
5.4 Apache Cassandra
5.4.1 Apache Cassandra简介
5.4.2 Apache Cassandra的应用场景
5.4.3 Apache Cassandra的架构和数据模型
5.4.4 用于配置Apache Cassandra的核心组件
5.5 Memcached
5.5.1 Memcached简介
5.5.2 Memcached的架构
5.5.3 Memcached客户端
5.6 Redis
5.6.1 Redis简介
5.6.2 Redis的下载与简单使用
5.6.3 Redis的数据类型及抽象
5.7 MongoDB
5.7.1 MongoDB简介
5.7.2 MongoDB核心概念
5.7.3 MongoDB的数据模型
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.2 Nagios
6.2.1 Nagios监控
6.2.2 Nagios插件
6.3 Zabbix
6.3.1 Zabbix对容器的支持
6.3.2 Zabbix的基本概念
6.4 Consul
6.4.1 Consul架构
6.4.2 Consul agent
6.5 ZooKeeper
6.5.1 ZooKeeper简介
6.5.2 ZooKeeper内部工作原理
6.5.3 例子:ZooKeeper实现barrier和producer-consumer queue
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.2 Bazaar
7.2.1 Bazaar的核心概念
7.2.2 Bazaar的使用
7.3 Mercurial
7.3.1 Mercurial的核心概念
7.3.2 Mercurial的使用
7.4 Git
7.4.1 Git的基础概念
7.4.2 Git的使用
7.5 Git Flow—团队协作佳实践
7.5.1 分支定义
7.5.2 新功能开发工作流
7.5.3 Bug修复工作流
7.5.4 版本发布工作流
第8章 RESTful API、微服务及容器技术
8.1 Jersey
8.1.1 Jersey简介
8.1.2 Jersey的模块和依赖
8.1.3 JAX-RS核心概念
8.1.4 例子:用SSE构建实时Web应用
8.2 Spring Boot
8.2.1 Spring Boot简介
8.2.2 Spring Boot的安装
8.2.3 Spring Boot的使用
8.2.4 Spring Boot的属性与配置
8.3 Docker
8.3.1 Docker简介
8.3.2 Docker的核心组成、架构及工作原理
8.3.3 Docker的使用
8.4 实战:基于Docker构建、运行、发布微服务
8.4.1 编写微服务
8.4.2 微服务容器化
8.4.3 构建Docker image
8.4.4 运行image
8.4.5 访问应用
8.4.6 发布微服务 


内容简介



消息中间件是分布式中的重要组件,在实际工作中常用消息中间件进行间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和终一致性架构。目前市面上可供选择的消息中间件有RabbitMQ、ActiveMQ、Kafka、RocketMQ、ZeroMQ、MetaMQ等。本书结合作者近年来在实际项目中使用消息中间件的经历和踩过的一些坑总结整理而成,主要介绍消息中间件使用的背景、基本概念,以及常用的四种消息中间件产品在各个业务场景中的使用案例。作为案例介绍,虽然不能对各种消息中间件产品的所有特性做详细说明,但是希望读者可以通过每章中的案例讨论和实践建议得到启发,为在实际工作中进行产品选型、业务场景方案制定、性能调整等提供思路。 


目录




第1章 消息队列
1.1间通信技术介绍
1.2 为何要用消息队列
1.3 消息队列的功能特点
1.4 设计一个简单的消息队列
1.4.1 消息处理中心
1.4.2 客户端访问
第2章 消息协议
2.1 AMQP
2.2 MQTT
2.3 STOMP
2.4 XMPP
2.5 JMS
第3章 RabbitMQ
3.1 简介
3.2 工程实例
3.2.1 Java访问RabbitMQ实例
3.2.2 Spring整合RabbitMQ
3.2.3 基于RabbitMQ的异步处理
3.2.4 基于RabbitMQ的消息推送
3.3 RabbitMQ实践建议
3.3.1 虚拟主机
3.3.2 消息保存
3.3.3 消息确认模式
3.3.4 消费者应答
3.3.5 流控机制
3.3.6 通道
3.3.7 总结
第4章 ActiveMQ
4.1 简介
4.2 工程实例
4.2.1 Java访问ActiveMQ实例
4.2.2 Spring整合ActiveMQ
4.2.3 基于ActiveMQ的消息推送
4.2.4 基于ActiveMQ的分布式事务
4.3 ActiveMQ 实践建议
4.3.1 消息转发模式
4.3.2 消息积压
4.3.3 消息事务
4.3.4 消息应答模式
4.3.5 消息发送优化
4.3.6 消息消费优化
4.3.7 消息协议
4.3.8 消息持久化
第5章 Kafka
5.1 简介
5.2 工程实例
5.2.1 Java访问Kafka实例
5.2.2 Spring整合Kafka..........

^_^:f5c581d17fefece266fede1d24ee67a3