《Netty、Redis、Zookeeper高并发实战》是由机械工业出版社出版的一本关于Netty方面的书籍,作者是尼恩,主要介绍了关于Netty、Redis、Zookeeper、高并发方面的知识内容,目前在Netty类书籍综合评分为:8.9分。
书籍介绍
这书以便让读者扎稳高性能基本,通俗易懂地分析高并发IO的最底层原理,细腻细致地分析Reactor高性能方式,图片配文字地介绍Java多线程回调函数方式。把握这种基本原理,可以协助读者处理Java后台管理开发设计的一些实际上难题。
这书共12章,关键介绍高性能通讯框架结构Netty,并详细介绍Netty的EventLoop、Handler、Pipeline、ByteBuf、Decoder、Encoder等关键部件,随后介绍竞聚率IM的实战演练设计方案和控制模块保持。这书对ZooKeeper、 Curator API、Redis、Jedis API的应用也开展详细的介绍,让读者具有高并发、可拓展系统软件的设计方案和开发设计能力。
目录
- 前言
- 第1章 高并发时代的必备技能 1
- 1.1 Netty为何这么火 1
- 1.1.1 Netty火热的程度 1
- 1.1.2 Netty是面试的必杀器 2
- 1.2 高并发利器Redis 2
- 1.2.1 什么是Redis 2
- 1.2.2 Redis成为缓存事实标准的原因 3
- 1.3 分布式利器ZooKeeper 3
- 1.3.1 什么是ZooKeeper 3
- 1.3.2 ZooKeeper的优势 4
- 1.4 高并发IM的综合实践 4
- 1.4.1 高并发IM的学习价值 4
- 1.4.2 庞大的应用场景 5
- 1.5 Netty、Redis、ZooKeeper实践计划 5
- 1.5.1 第1天:Java NIO实践 5
- 1.5.2 第2天:Reactor反应器模式实践 6
- 1.5.3 第3天:异步回调模式实践 7
- 1.5.4 第4天:Netty基础实践 8
- 1.5.5 第5天:解码器(Decoder)与编码器(Encoder)实践 9
- 1.5.6 第6天:JSON和ProtoBuf序列化实践 11
- 1.5.7 第7~10天:基于Netty的单聊实战 12
- 1.5.8 第11天:ZooKeeper实践计划 14
- 1.5.9 第12天:Redis实践计划 14
- 1.6 本章小结 16
- 第2章 高并发IO的底层原理 17
- 2.1 IO读写的基础原理 17
- 2.1.1 内核缓冲区与进程缓冲区 18
- 2.1.2 详解典型的系统调用流程 18
- 2.2 四种主要的IO模型 19
- 2.2.1 同步阻塞IO(Blocking IO) 20
- 2.2.2 同步非阻塞NIO(None Blocking IO) 21
- 2.2.3 IO多路复用模型(IO Multiplexing) 22
- 2.2.4 异步IO模型(Asynchronous IO) 23
- 2.3 通过合理配置来支持百万级并发连接 24
- 2.4 本章小结 26
- 第3章 Java NIO通信基础详解 27
- 3.1 Java NIO简介 27
- 3.1.1 NIO和OIO的对比 28
- 3.1.2 通道(Channel) 28
- 3.1.3 Selector 选择器 28
- 3.1.4 缓冲区(Buffer) 29
- 3.2 详解NIO Buffer类及其属性 29
- 3.2.1 Buffer类 29
- 3.2.2 Buffer类的重要属性 29
- 3.2.3 4个属性的小结 31
- 3.3 详解NIO Buffer类的重要方法 31
- 3.3.1 allocate()创建缓冲区 31
- 3.3.2 put()写入到缓冲区 32
- 3.3.3 flip()翻转 33
- 3.3.4 get()从缓冲区读取 34
- 3.3.5 rewind()倒带 35
- 3.3.6 mark( )和reset( ) 37
- 3.3.7 clear( )清空缓冲区 38
- 3.3.8 使用Buffer类的基本步骤 38
- 3.4 详解NIO Channel(通道)类 38
- 3.4.1 Channel(通道)的主要类型 39
- 3.4.2 FileChannel文件通道 39
- 3.4.3 使用FileChannel完成文件复制的实践案例 41
- 3.4.4 SocketChannel套接字通道 42
- 3.4.5 使用SocketChannel发送文件的实践案例 44
- 3.4.6 DatagramChannel数据报通道 46
- 3.4.7 使用DatagramChannel数据包通道发送数据的实践案例 47
- 3.5 详解NIO Selector选择器 49
- 3.5.1 选择器以及注册 49
- 3.5.2 SelectableChannel可选择通道 50
- 3.5.3 SelectionKey选择键 50
- 3.5.4 选择器使用流程 50
- 3.5.5 使用NIO实现Discard服务器的实践案例 52
- 3.5.6 使用SocketChannel在服务器端接收文件的实践案例 54
- 3.6 本章小结 57
- 第4章 鼎鼎大名的Reactor反应器模式 59
- 4.1 Reactor反应器模式为何如此重要 59
- 4.1.1 为什么首先学习Reactor反应器模式 59
- 4.1.2 Reactor反应器模式简介 60
- 4.1.3 多线程OIO的致命缺陷 60
- 4.2 单线程Reactor反应器模式 62
- 4.2.1 什么是单线程Reactor反应器 62
- 4.2.2 单线程Reactor反应器的参考代码 63
- 4.2.3 一个Reactor反应器版本的EchoServer实践案例 65
- 4.2.4 单线程Reactor反应器模式的缺点 67
- 4.3 多线程的Reactor反应器模式 68
- 4.3.1 多线程池Reactor反应器演进 68
- 4.3.2 多线程Reactor 反应器的实践案例 68
- 4.3.3 多线程Handler处理器的实践案例 70
- 4.4 Reactor反应器模式小结 72
- 4.5 本章小结 73
- 第5章 并发基础中的Future异步回调模式 74
- 5.1 从泡茶的案例说起 74
- 5.2 join异步阻塞 75
- 5.2.1 线程的join合并流程 75
- 5.2.2 使用join实现异步泡茶喝的实践案例 75
- 5.2.3 详解join合并方法 77
- 5.3 FutureTask异步回调之重武器 77
- 5.3.1 Callable接口 77
- 5.3.2 初探FutureTask类 78
- 5.3.3 Future接口 79
- 5.3.4 再探FutureTask类 79
- 5.3.5 使用FutureTask类实现异步泡茶喝的实践案例 80
- 5.4 Guava的异步回调 82
- 5.4.1 详解FutureCallback 82
- 5.4.2 详解ListenableFuture 83
- 5.4.3 ListenableFuture异步任务 84
- 5.4.4 使用Guava实现泡茶喝的实践案例 84
- 5.5 Netty的异步回调模式 87
- 5.5.1 详解GenericFutureListener接口 87
- 5.5.2 详解Netty的Future接口 88
- 5.5.3 ChannelFuture的使用 88
- 5.5.4 Netty的出站和入站异步回调 89
- 5.6 本章小结 90
- 第6章 Netty原理与基础 91
- 6.1 第一个Netty的实践案例DiscardServer 91
- 6.1.1 创建第一个Netty项目 91
- 6.1.2 第一个Netty服务器端程序 92
- 6.1.3 业务处理器NettyDiscardHandler 93
- 6.1.4 运行NettyDiscardServer 94
- 6.2 解密Netty中的Reactor反应器模式 95
- 6.2.1 回顾Reactor反应器模式中IO事件的处理流程 95
- 6.2.2 Netty中的Channel通道组件 96
- 6.2.3 Netty中的Reactor 反应器 96
- 6.2.4 Netty中的Handler处理器 97
- 6.2.5 Netty的流水线(Pipeline) 98
- 6.3 详解Bootstrap启动器类 100
- 6.3.1