我为什么要写一本Netty案例实践方面的书

Posted Netty之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我为什么要写一本Netty案例实践方面的书相关的知识,希望对你有一定的参考价值。

【1、读者需求】




2014年《Netty权威指南》出版之后,我在技术网站相继写了一些Netty专题文章,涵盖性能、线程模型、安全性等知识点,得到了很多读者的喜爱。在4年多的时间里,很多读者以及Netty学习者向我咨询Netty相关的问题,这些问题加起来有上千个,通过对问题做汇总和分析,可以归纳为如下几类:

  • Netty初学者,想了解学习Netty需要储备哪些技能,掌握哪些知识点,有什么学习技巧可以更快的掌握Netty。

  • 《Netty权威指南》读者,学习完理论知识之后,想在实际项目中使用,但是真正跟具体项目结合在一起解决实际问题时,又感觉比较棘手,不知道自己使用的方式是否最优,希望能够多学一些案例实践方面的知识,以便更好的在业务中使用Netty。

  • 在实际项目中遇到了问题,但是由于对Netty底层细节掌握不扎实,无法有效的定位并解决问题。



【2、Netty框架自身特点】

                        




Netty的一个特点就是入门相对比较容易,但是真正掌握并精通是非常困难的,原因有如下几个:

  • 涉及的知识面比较广:Netty作为一个高性能的NIO通信框架,涉及到的知识点包括网络通信、多线程编程、序列化和反序列化、异步和同步、SSL/TLS安全、内存池、HTTP等各种协议栈,这些知识点在Java语言中本身就是难点和重点,如果对这些基础知识掌握不扎实,是很难真正掌握好Netty的。

  • 调试比较困难:因为大量使用异步编程接口,以及消息处理过程中的各种线程切换,相比于传统同步代码,调试难度比较大。

  • 类继承层次比较深,有些代码很晦涩(例如内存池),对于初学者而言,通过阅读代码来掌握Netty难度还是很大的。

  • 代码规模庞大:目前,Netty的代码规模已经非常庞大,特别是协议栈部分,提供了对HTTP/2、MQTT、WebSocket等各种协议的支持,相关代码非常多。如果学习方式不当,抓不住重点,全量阅读Netty源码,既耗时又很难吃透,很容易半途而废。

  • 资料零散,缺乏实践相关的案例:网上各种Netty的资料非常多,但是以理论讲解为主,Netty在各行业中的应用、问题定位技巧以及案例实践方面的资料很少,缺乏系统性的实践总结,也是Netty学习的一大痛点。



【3、Netty经验和案例总结】

                         




在过去的几年中,利用业余时间我尽量帮大家答疑解惑,但实际上发现一个人很难回答所有读者的问题,有些问题需要业务描述、故障场景、日志、甚至要看源码,而且需要反复多次沟通来澄清问题,对于个人而言,时间和精力都很难保证。另外一些比较常见的问题,例如服务端接收不到客户端的消息,这类问题比较通用,定位手段也是可以固化下来的。很多读者希望我能写一本Netty实践和案例方面的书,通过案例讲解让大家更好的在项目中使用Netty,解决实际遇到的问题。


通过对手头大家咨询的问题做归类分析,以及结合我们自己业务和平台多年来在Netty实践中的经验积累和总结,发现如果把这些经验教训总结下,写一本Netty案例实践相关的书籍,是可以帮助更多的Netty使用者掌握并用好Netty。“授人以鱼不如授人以渔”,只有让大家掌握了Netty相关问题的定位手段和技巧,大家才能在项目中更放心的使用Netty。



【4、写作思路和大纲】

                                    




本书对Netty案例实践进行分类,以问题案例做牵引,通过案例讲解问题背后的原理,结合Netty源码分析,让读者能够真正掌握Netty,在实际工作中少犯错。同时,在案例分析中,穿插讲解Netty的问题定位技巧和方法,让读者了解并掌握问题定位的思路和工具。


内容分类主要包括:

  • Netty启停篇。

  • Netty 内存篇。

  • Netty并发多线程篇。

  • Netty性能篇。

  • Netty可靠性篇。

  • Netty安全篇。

  • Netty实践篇。

  • Netty学习和问题定位技巧篇。


这些案例涵盖了Netty绝大多数常用的功能,以及容易犯错的地方,具有很大的通用性和普遍性。通过这些案例的学习,对业务实际工作中用好Netty具有很大的帮助和启发。另外,在对Netty框架本身讲解的同时,也会穿插对一些背景知识做介绍,例如Java信号量和优雅停机机制、Java的NIO类库、HTTP协议栈等。知识都是相互关联的,很难在基础知识不扎实的情况下掌握更高阶的知识。


通过本书的写作,希望助力广大Netty初学者和爱好者,更快、更好的进阶到高级阶段,在项目中用好Netty,为业务和自己创造更多的价值。



【5、交流和探讨】

                                    




尽管我也有技术洁癖,希望诸事完美,但是由于Netty代码的庞杂和涉及到的知识点太多,以及受限于我个人的经历和水平,很难在一本书里同时满足所有读者的诉求。如有遗漏或者错误,恳请大家能够及时批评和指正,如果你有好的建议或者想法,也可以联系我。联系方式如下:

微信、新浪微博:Nettying

右侧扫码:


【6、预售链接】

                                                




《Netty进阶之路》已经在京东开始预售,预售版赠送签名书签(前750名),有需要的朋友可以点击如下链接购买(也可以在京东搜索栏输入 Netty进阶之路  搜索购买):


https://item.jd.com/12458713.html


https://item.m.jd.com/product/12458713.html?ShareTm=nj12Gabo%2Fp7Fg5HupklbP%2Bjztnbsy1fF2OAhdgHXTdpAESKFku3FBmeCYYdLKAcCbwYHmQkxr%2Fk%2FIvpqjmOG2iy6FYQ819OUw1WSIyTz7pxseguYpkHeFcnpe%2BtBlEhMi8uGOVVtBzFWQ8wqvW%2FkupL5g7MPXPC2GrGuLxs4nD8%3D&ad_od=share&utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=CopyURL


签名书签:



以上是关于我为什么要写一本Netty案例实践方面的书的主要内容,如果未能解决你的问题,请参考以下文章

帮忙推荐一本C#设计模式方面的书

推荐一本《神经网络》方面的书 Delphi C++

推荐一本我们写的书《HBase原理与实践》

机器学习工程师必备,一本专门讲解机器学习工程实践的书

荐书 | Netty进阶之路:跟着案例学Netty

准备写一本协议方面的书,谁赞成,谁反对?