前言
Netty是一款基于NIO(非阻塞I/O)开发的网络框架,与传统BIO相比,它的并发性能得到了很大的提高,而且更加节省资源。Netty不仅封装了NIO操作的很多细节;在设计上还基于灵活、可扩展的事件驱动模型与高度可定制的线程模型,让Netty的应用更加灵活。作为一个被广泛使用的Java网络编程框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、物联网行业等都得到了广泛的应用。很多流行的大数据框架的核心通信模块也都使用的是Netty,如Elasticsearch、HBase、Flink等。
Netty是一款流行的Java NIO框架,那么它有哪些特性呢?为什么其他优秀的Java框架的通信模块会选择Netty呢?使用过Java NIO的读者一定非常清楚,采用NIO编写一套高效且稳定的通信模块很不容易,没有一流的编程能力根本无法实现,并且无法做到在高并发情况下的可靠和高效。然而,Netty这款优秀的开源框架却可以快速地开发高性能的面向协议的服务端和客户端。Netty不仅易用、健壮、安全、高效,还可以轻松地自定义各种协议、采用各种序列化,并且它的可扩展性极强。
本书以实战为导向,深入解读Netty底层核心源码及架构设计。通过阅读本书,读者可以灵活运用Netty的特性、加深多线程实战应用、熟悉Netty的底层核心源码。全书共包含2个高级应用项目,分别为分布式RPC与10亿级任务调度和监控引擎。读者可以在实战过程中找到学习Netty的成就感,在学完Netty内存管理及Netty核心组件的源码剖析后,能够比较彻底地掌握Netty。