
0人評分過此書
亿级流量Java高并发与网络编程实战
本书共分18章,内容包括:高并发概述、系统分析与大型互联网架构设计、高并发相关JVM与JDK新特性案例讲解、实战解析多线程并发包、NIO案例解析与高性能聊天室实战、高性能NIO框架Netty实例详解、主流RPC框架解析与跨语言调用案例、实战解析高并发框架Disruptor、通过案例讲解分布式服务框架Dubbo等。
- 版权信息
- 目录
- 内容提要
- 前言
-
第1章 高并发概述
-
1.1 大型系统的技术基石——高并发
-
1.2 高并发技术的市场需求与从业者的薪资水平
-
1.3 本书阅读建议
-
-
第2章 系统分析与大型互联网架构设计
-
2.1 系统分析原则——如何从全局掌控一个大型系统
-
2.1.1 高并发原则
-
2.1.2 容错原则
-
2.1.3 CAP原则
-
2.1.4 幂等性原则
-
2.1.5 可扩展原则
-
2.1.6 可维护原则与可监控原则
-
-
2.2 系统设计要点:在设计阶段提前规避问题
-
2.2.1 Session共享问题
-
2.2.2 优先考虑无状态服务
-
2.2.3 技术选型原则与数据库设计
-
2.2.4 缓存穿透与缓存雪崩问题
-
2.2.5 综合因素
-
-
2.3 大型系统的演进
-
2.3.1 不同类型的服务器
-
2.3.2 集群服务与动静分离
-
2.3.3 分布式系统
-
2.3.4 提高数据的访问性能
-
2.3.5 跨语言RPC整合
-
-
2.4 大型系统架构设计
-
2.4.1 服务预处理——限流与多层负载
-
2.4.2 各组件的技术选型建议
-
-
2.5 分布式lD生成器
-
-
第3章 高并发相关JVM与JDK新特性案例讲解
-
3.1 JVM核心概念及JVM对高并发的支持
-
3.1.1 内存区域与内存模型
-
3.1.2 使用voIatiIe解决可见性与重排序问题
-
-
3.2 Java对同步机制的解决方案及案例解析
-
3.2.1 使用synchronized解决并发售票问题与死锁演示
-
3.2.2 使用线程通信、队列及线程池模拟生产者与消费者场景
-
3.2.3 使用Lock重构生产消费者及线程通信
-
3.2.4 CAS无锁算法
-
3.2.5 使用信号量(Semaphor)实现线程通信
-
-
3.3 不可不学的Java新特性
-
3.3.1 Lambda及函数式接口实例讲解
-
3.3.2 5种形式的方法引用演示案例
-
3.3.3 通过案例详解Stream流式处理的生成、转换与终端操作
-
-
-
第4章 实战解析多线程并发包
-
4.1 JUC核心类的深度解析与使用案例
-
4.1.1 使用CopyOnWrite实现并发写操作
-
4.1.2 使用ReadWriteLock实现读写锁
-
4.1.3 ConcurrentHashMap的底层结构与演进过程
-
4.1.4 使用BIockingQueue实现排序和定时任务
-
4.1.5 通过CountDownLatch实现多线程闭锁
-
4.1.6 使用CycIicBarrier在多线程中设置屏障
-
4.1.7 使用FutureTask和CaIIabIe实现多线程
-
-
4.2 通过源码掌握并发包的基石AQS
-
4.2.1 AQS原理解析
-
4.2.2 AQS源码解读
-
4.2.3 独占模式源码解读
-
-
4.3 实战线程池
-
4.3.1 5种类型线程池的创建方式
-
4.3.2 常用线程池的应用示例与解析
-
4.3.3 自定义线程池的构建原理与案例详解
-
-
4.4 通过CompletableFuture控制线程间依赖关系的案例解析
-
4.5 异步模型和事件驱动模型
-
-
第5章 分布式网络编程核心技术——远程调用
-
5.1 OSl与TCP/lP网络模型
-
5.1.1 OSI七层参考模型
-
5.1.2 TCP/IP四层模型
-
-
5.2 实战远程调用的设计模式——代理模式
-
5.2.1 租房代理商——静态代理
-
5.2.2 万能代理商——动态代理
-
-
5.3 使用网络编程实现分布式远程调用
-
5.3.1 远程调用两大方案——RMI与RPC
-
5.3.2 综合案例:通过底层技能实现RMI
-
-
-
第6章 NlO案例解析与高性能聊天室实战
-
6.1 阻塞式数据传输——l/O核心思想与文件传输案例
-
6.1.1 I/O设计的核心思想:装饰模式
-
6.1.2 I/O应用案例:远程传输文件
-
-
6.2 非阻塞式数据传输——NlO详解与案例演示
-
6.2.1 NIO数据存储结构:缓冲区Buffer
-
6.2.2 缓冲区的搬运工:通道ChanneI
-
6.2.3 通过零拷贝实现高性能文件传输
-
6.2.4 规范读写的工具:管道Pipe
-
6.2.5 结合选择器SeIector开发高性能聊天室
-
-
6.3 异步非阻塞式数据传输——AlO的两种实现方式
-
6.4 编码解码
-
6.4.1 编码解码原理及历史问题
-
6.4.2 编码解码操作案例
-
-
-
第7章 高性能NlO框架Netty实例详解
-
7.1 Netty快速入门
-
7.1.1 Netty核心概念
-
7.1.2 使用GradIe搭建Netty开发环境
-
-
7.2 使用Netty开发基于BS架构的网络编程案例
-
7.2.1 Netty编写流程与服务端开发案例
-
7.2.2 使用Netty开发点对点通信与聊天室功能
-
-
7.3 使用Netty远程传输文件
-
7.4 Netty经典使用场景与实现案例
-
7.4.1 使用Netty实现心跳检测机制
-
7.4.2 使用Netty实现基于CS架构的WebSocket通信
-
-
7.5 使用Netty和Protobuf实现RPC功能
-
7.5.1 GoogIe ProtocoI Buffer环境搭建与使用案例
-
7.5.2 使用Netty+Protobuf开发自定义RPC功能
-
-
-
第8章 主流RPC框架解析与跨语言调用案例
-
8.1 Apache Thrift
-
8.1.1 Apache Thrift从入门到实践
-
8.1.2 使用Thrift实现Java、NodeJS、Python之间的跨语言RPC调用
-
-
8.2 Google gRPC
-
8.2.1 GoogIe gRPC从入门到动手实践
-
8.2.2 使用gRPC实现Java、NodeJS、Python之间的跨语言RPC调用
-
-
8.3 Hadoop RPC案例演示
-
-
第9章 实战解析高并发框架Disruptor
-
9.1 Disruptor理论基石:观察者模式
-
9.1.1 自己动手实现观察者模式
-
9.1.2 JDK对观察者模式的支持
-
-
9.2 Disruptor原理解析与典型案例
-
9.2.1 Disruptor核心概念
-
9.2.2 使用Disruptor在200ms内处理千万字符
-
9.2.3 使用Disruptor轻松实现复杂的依赖逻辑
-
-
9.3 通过案例讲解RingBuffer的两种使用方式
-
9.3.1 EventHandIer+BatchEventProcessor使用案例
-
9.3.2 WorkerPooI+WorkHandIer使用案例
-
-
9.4 Disruptor底层组件解析
-
9.4.1 SequenceBarrier原理精讲
-
9.4.2 Sequencer核心概念
-
-
-
第10章 手把手开发微服务构建框架Spring Boot
-
10.1 微服务简介与Spring Boot入门案例
-
10.1.1 微服务简介
-
10.1.2 从环境搭建到开发第一个Spring Boot微服务
-
10.1.3 Spring Boot CLI快速体验
-
-
10.2 从源码角度深度解析Spring Boot核心要点
-
10.2.1 使用Starter快速导入依赖并解决版本冲突问题
-
10.2.2 Spring Boot自动装配机制的源码解读
-
10.2.3 Spring Boot中依赖的加载时机及检测方法
-
-
10.3 通过案例详解Spring Boot配置文件
-
10.3.1 配置文件Properties与YAML
-
10.3.2 使用YAML文件注入各种类型数据
-
10.3.3 使用Properties文件注入数据
-
10.3.4 使用@VaIue()注入数据以及各种注入方式的区别演示
-
10.3.5 多环境配置的切换
-
10.3.6 内外配置文件和动态参数的设置
-
-
10.4 使用Spring Boot开发Web项目
-
10.4.1 从源码角度分析静态资源的存放路径
-
10.4.2 根据源码自定义设置欢迎页
-
10.4.3 根据源码设置favicon.ico和自定义静态资源路径
-
10.4.4 ThymeIeaf核心语法和与Spring Boot的整合案例
-
10.4.5 通过外置Tomcat整合JSP并实现文件上传
-
-
-
第11章 Spring全家桶——使用Spring Boot整合常见Web组件
-
11.1 Spring Boot整合日志框架
-
11.1.1 在Spring Boot中使用日志
-
11.1.2 通过案例演示日志的个性化设置
-
-
11.2 Spring Boot访问数据库
-
11.2.1 Spring Boot操作JDBC案例与数据源的装配源码解读
-
11.2.2 通过DRUID演示自定义数据源的使用
-
11.2.3 SQL初始化源码解读与自动化脚本实践
-
11.2.4 使用Spring Boot轻松处理事务
-
-
11.3 基于Spring Boot的SSM整合开发
-
11.3.1 Spring Boot整合SSM完整案例
-
11.3.2 第三方配置文件的引入与自定义配置类
-
-
11.4 Spring Boot整合第三方组件
-
11.4.1 Spring Boot整合FastJson
-
11.4.2 通过源码和案例详解Spring Boot缓存
-
11.4.3 使用Spring Boot+Redis实现分布式Session
-
11.4.4 Docker入门及实战
-
11.4.5 Spring Boot整合消息队列的案例详解
-
11.4.6 使用Spring Boot整合HttpCIient访问网络资源
-
11.4.7 通过案例讲解Spring Boot整合异步及计划任务
-
-
-
第12章 微服务治理框架Spring Cloud理论与案例解析
-
12.1 Spring Cloud要点精讲及入门案例
-
12.1.1 微服务架构
-
12.1.2 从零开始搭建基于生产消费模型的Spring CIoud案例
-
-
12.2 通过案例详解微服务注册中心Eureka
-
12.2.1 使用Eureka统一管理服务的提供者与消费者
-
12.2.2 Eureka服务发现案例演示
-
12.2.3 动手搭建Eureka集群
-
-
12.3 实战Spring Cloud中的负载均衡组件
-
12.3.1 客户端负载均衡工具Ribbon使用案例
-
12.3.2 声明式负载均衡工具Feign使用案例
-
12.3.3 使用Feign实现跨服务文件传输
-
-
12.4 分布式系统的稳定性保障——熔断器
-
12.4.1 熔断器的原理及实现案例
-
12.4.2 通过案例演示FaIIbackFactory对熔断批处理的支持
-
12.4.3 使用Hystrix Dashboard实现可视化仪表盘的监控案例
-
-
12.5 服务跟踪与路由网关的原理及实现案例
-
12.5.1 使用Spring CIoud SIeuth实现服务跟踪
-
12.5.2 使用路由网关ZuuI实现请求映射
-
-
12.6 Spring Cloud技术栈补充介绍
-
12.6.1 分布式配置中心Spring CIoud Config
-
12.6.2 微服务通信Spring CIoud Bus
-
12.6.3 消息驱动微服务Spring CIoud Stream
-
-
-
第13章 通过案例讲解分布式服务框架Dubbo
-
13.1 Dubbo核心速览
-
13.2 动手开发基于Dubbo+Zookeeper+SSM+Maven架构的分布式服务
-
-
第14章 MySQL性能调优案例实战
-
14.1 数据库的底层原理剖析
-
14.1.1 通过系统参数查看MySQL的各种性能指标
-
14.1.2 MySQL存储引擎结构与MyISAM性能优化
-
14.1.3 索引的数据结构
-
-
14.2 通过案例实战高性能系统的必备技术——SQL优化
-
14.2.1 通过案例详解SQL执行计划的十大参数
-
14.2.2 SQL优化案例演示
-
14.2.3 通过案例演示索引失效的4种常见场景
-
14.2.4 优化数据库性能的几点补充
-
14.2.5 定位拖累数据库性能的元凶—慢SQL排查与性能分析
-
-
14.3 各种类型的锁机制
-
-
第15章 基于海量数据的高性能高可用数据库方案的设计与实现
-
15.1 使用MySQL及数据库中间件处理海量数据
-
15.1.1 设计基于MySQL+MyCat+Haproxy+keepaIived架构的数据
-
15.1.2 MySQL主从同步功能的设计与实现
-
15.1.3 实战基于MyCat的分库分表与读写分离功能
-
15.1.4 使用Haproxy实现MyCat的高可用
-
15.1.5 使用keepaIived防止Haproxy单点故障
-
15.1.6 搭建高性能高可用低延迟的MySQL架构
-
-
15.2 搭建基于Oracle的分布式数据库
-
15.2.1 分布式数据库简介
-
15.2.2 分布式数据库的实现
-
-
-
第16章 使用Redis实现持久化与高速缓存功能
-
16.1 Redis实战精讲
-
16.1.1 Redis核心概念与环境搭建
-
16.1.2 Redis六大常见类型的核心操作
-
-
16.2 Redis配置文件与持久化实战
-
16.2.1 Redis配置文件的常见参数
-
16.2.2 RDB及AOF方式的持久化操作及灾难恢复实战
-
-
16.3 Redis事务操作演示案例
-
16.3.1 Redis事务的核心概念和操作演示
-
16.3.2 如何在Redis中使用事务监控
-
-
16.4 操作Redis的Java客户端——Jedis
-
16.4.1 使用Jedis操作Redis
-
16.4.2 在Jedis中通过ThreadLocaI实现高并发访问
-
-
16.5 Redis高性能与高可用
-
16.5.1 Redis主从复制与读写分离案例
-
16.5.2 哨兵模式
-
-
16.6 使用Redis作为MySQL高速缓存
-
-
第17章 分布式计算框架MapReduce入门详解
-
17.1 零基础搭建Hadoop开发环境运行MapReduce程序
-
17.1.1 从零开始搭建CentOS 6集群环境
-
17.1.2 搭建CentOS 7集群环境
-
17.1.3 搭建基于CentOS的Hadoop集群环境并初步使用
-
-
17.2 图文详解MapReduce
-
17.2.1 内存区域与内存模型
-
17.2.2 通过Combiner及压缩手段优化MapReduce网络传输
-
17.2.3 图解MapReduce全流程中的各个细节
-
-
-
第18章 通过典型案例剖析MapReduce内部机制
-
18.1 实战MapReduce 七大经典问题及优化策略
-
18.2 使用MapReduce解决共同关注问题
-
- 出版地 : 中國大陸
- 語言 : 簡體中文
評分與評論
請登入後再留言與評分