什么是Netty?

Netty是一款用于快速开发高性能的网络应用程序的Java框架。

概念及体系结构

  • 了解阻塞和非阻塞的网络API及其对应的JDK接口。而Netty可以充分作为构建高度可伸缩的、异步的、事件驱动的网络编程应用的工具包。那么我们要先了解其基本构建块:Channel、回调、Future、事件及ChannelHandler。
  • 引导(Bootstrap):在运行时组装和配置一个应用程序的所有组件的过程。
  • 框架核心组件:Channel、EventLoop、ChannelHandler以及ChannelPipeline,并理解引导服务器和客户端之间的差异。
  • 研究Netty的传输API的底层接口的层级关系以及它们所支持的传输类型。
  • 数据处理API——ByteBuf(字节容器),相对于JDK的ByteBuffer的差异优劣,以及如何分配和访问ByteBuf所使用的内存。
  • 负责调度应用程序的处理逻辑、并驱动数据和事件经过网络层的ChannelHandler和ChannelPipeline、或更高级的ChannelHandlerContext。
  • Netty线程模型——interfaceEventLoop,理解Netty如何实现异步、事件驱动的网络编程模型。
  • 如何优雅关闭应用程序并有序地释放所有的资源
  • EmbeddedChannel一个特殊的Channel进行单元测试

编解码器

  • 将一个非结构化的字节流转换为一个特定于协议的布局结构
  • 研究各种用例(不同协议)的编解码器及ChannelHandler

网络协议

  • 基于WebSocket实现Web服务器和客户端之间的双向通信
  • 利用用户数据报协议(UDP)的广播能力的服务器和客户端应用程序。

如果此文对你有所帮助,欢迎关注个人技术公众号

图片描述


Java猫说
1.3k 声望930 粉丝

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。