Netty
现代互联网架构,分布式系统是一个绕不开的话题。一款优秀的网络通信框架将在分布式系统的构建中起到举足轻重的作用。其中,特别出名的有 SUN 公司的 Grizzly 框架、JBoss 的 XIO、Apache 的 MINA 以及赫赫有名也是使用最广泛的 Netty 框架。
需要指出的是,网络通信框架的优秀不仅仅体现在性能和效率上,更重要的体现是,是否能够屏蔽底层复杂度,编程模型是否简单易懂,是否适用更多的应用场景,以及开发社区是否活跃。Netty 的成功正是很好地满足了上述的这几点。作为互联网从业人员,熟悉基于 Netty 网络编程乃至深入理解 Netty 的设计和实现,对于无论是自研系统,还是学习开源产品,都有很大的帮助。
我对于 Netty 的接触始于 2012 年的工作,那时需要处理一些自定义协议相关的内容,对于技术的热情激发了我对于 Netty 源代码的学习,并促使我后续更加系统地学习了很多相关的知识。但是苦于缺乏相关中文资料以及系统性的指导,使得我在最终能够看懂 Netty 源代码并且为 Netty 项目做出贡献之前,花费了大量的时间,走了很多的弯路,这样的弯路自然也是充满苦楚和寂落的。
内容
这本书循序渐进、系统性地讲解了 Netty 的各个组件,以及其背后的设计哲学,并且对于想要深入理解 Netty 源代码的读者给出了相应的指导。难能可贵的是,这本书还附带了 5 个由行业一线公司撰写的 Netty 在实践中的案例研究,并贴心地准备了一个 Maven 相关的介绍。
本书是为想要或者正在使用 Java 从事高性能网络编程的人而写的,循序渐进地介绍了 Netty各个方面的内容。阅读本书不需要读者精通 Java 网络和并发编程。如果想要更加深入地理解本书背后的理念以及 Netty 源码本身,可以系统地学习一下 Java 网络编程、NIO、并发和异步编程以及相关的设计模式。
本书共分为 4 个部分:
第一部分详细地介绍 Netty 的相关概念以及核心组件。
第二部分介绍自定义协议经常用到的编解码器。
第三部分介绍 Netty 对于应用层高级协议的支持,会覆盖常见的协议及其在实践中的应用。
第四部分是几个案例研究。
此外,附录部分还会简单地介绍 Maven,以及如何通过使用 Maven 编译和运行本书中的示例。
这份Netty实战文档总共为272页,需要完整版的朋友,可以以下方式来获取!!
Nginx
取代Apache的高性能Web服务器
第1章 Nginx简介
第2章 Nginx服务器的安装与配置
第3章 Nginx的基本配置与优化
第4章 Nginx与PHP(FastCGI)的安装配置与优化
第5章 Nginx与JSP. ASP.NET、Perl的安装与配置
第6章 Nginx HTTP负载均衡和反向代理的配置与优化
第7章 Nginx的Rewrite规则与实例
第8章 Nginx模块开发
第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块
第10章 Nginx在国内知名网站中的应用案例
第11章 Nginx的非典型应用实例
第12章 Nginx的核心模块
第13章 Nginx的标准HTTP模块
第14章 Nginx的其他HTTP模块
第15章 Nginx的邮件模块
这份实战Nginx文档总共为319页,需要完整版的朋友,可以以下方式来获取!!
Redis
Redis以其高速、轻量和丰富的数据结构与功能被越来越多的工程师所钟爱。然而,用Redis的人很多,真正懂Redis的人很少,本书正是写给那些使用了Redis并希望进一步深入理解Redis的读者。作者及其团队通过对Redis最新版本(5.x)各部分源码的分析,庖丁解牛,深入浅出,带领读者一步步探索Redis的方方面面,让读者从原理层面真正懂得Redis。
对技术有点追求的程序员一定不要错过这本Redis5 源码分析书,本书对Redis的内部实现分析得非常全面透彻,如果你觉得直接阅读源码有点吃力,试试让这本书来带领你探索Redis源码。
本书内容逻辑上分为三篇,共计22章内容。
第一篇
第1章简单介绍了Redis, 以及Redis的编译安装和研读的方式;
第2~8章重点讲解了SDS、跳跃表、压缩列表、字典、整数集合、quicklist 和Stream数据结构的实现。
第二篇
第9章讲解了Redis的生命周期,命令执行的过程,需要重点阅读;
第10~19章,分别讲解了键、字符串、散列表、链表、集合、有序集合、GEO、HyperLog和
数据流相关命令的实现。
第三篇
第20~22章简单讲解了持久化、主从复制和集群的实现,没有详细展开,希望能带读者入门。
如果读者是有一定经验的资深开发人员,本书可能会是一本不错的案头书。当然,如果读者是一名初学者,请在开始本书阅读之前,建议先掌握一些C语言和网络编程等基础理论知识。本书总共433页,需要完整版的朋友,可以以下方式来获取。
我没有什么特别才能,不过喜欢寻根刨底地追究问题罢了。