Netty 源码阅读入门实战(一)-介绍

简介: 1 简介 以 Netty 为底层的框架 Netty 是什么 Netty 技术和方法的特点 设计 针对多种传输类型的统一接口 - 阻塞和非阻塞 简单但更强大的线程模型 真正的无连接的数据报套接字支持 链接逻辑支持复用 易用性 大量的 Javadoc 和 代码实例 除了在 JDK 1.6 + 额外的限制。

1 简介

Netty 由其作者 Trustin Lee
在这里插入图片描述

在 2008 年提交第一个commit至今,转眼间已经走过了十二年。
在这里插入图片描述
Netty 本身是基于 Java 中 NIO 接口能力进行封装而成的框架。对 NIO 的学习和掌握是不可避免的。
可以熟练的使用框架进行业务的开发,仅仅只是学习刚开了一个头。只有深入到框架的内部,对一个结果的背后都了解了“为什么”,“是什么”,“怎么样”,才能算对框架实现了掌握。而到了这一步,深入的探究源码是最好的手段。

什么是 Netty

  • 异步事件驱动框架,可快速开发高性能的服务端和客户端
  • 封装了JDK底层BIO和NIO模型,提供更加简单易用安全的 API
  • 自带编解码器解决拆包粘包问题,无需用户困扰
  • reactor线程模型支持高并发海量连接
  • 自带各种协议栈

Netty 的特点

  • 设计
    针对多种传输类型的统一接口 - 阻塞和非阻塞
    简单但更强大的线程模型
    真正的无连接的数据报套接字支持
    链接逻辑支持复用
  • 易用性
    大量的 Javadoc 和 代码实例
    除了在 JDK 1.6 + 额外的限制。(一些特征是只支持在Java 1.7 +。可选的功能可能有额外的限制。)
  • 性能
    比核心 Java API 更好的吞吐量,较低的延时
    资源消耗更少,这个得益于共享池和重用
    减少内存拷贝
  • 健壮性
    消除由于慢,快,或重载连接产生的 OutOfMemoryError
    消除经常发现在 NIO 在高速网络中的应用中的不公平的读/写比
  • 安全
    完整的 SSL / TLS 和 StartTLS 的支持
    运行在受限的环境例如 Applet 或 OSGI
  • 社区
    发布的更早和更频繁
    社区驱动

为什么要研究 Netty

◆各大开源项目选择Netty作为底层通信框架
◆更好的使用,少走弯路
◆遇到bug ?单机连接数上不去?性能遇到瓶颈?如何调优?
◆详解reactor线程模型 ,实践中举-反三
◆庞大的项目是如何组织的 ,设计模式,体验优秀的设计
◆阅读源码其实没那么困难

学习 Netty 将解锁以下成就:

◆掌握Netty底层原理 ,轻松解决各类疑难杂症,深度调优
◆面试加分,互联网各大架构师的职位,升职加薪,以-档三
◆给官方提issue

目录
相关文章
|
7月前
|
缓存 网络协议 算法
Netty的基础入门(上)
Netty的基础入门(上)
244 1
|
7月前
|
网络协议 Java 测试技术
阿里内部Netty实战小册,值得拥有
Netty 是一个高性能的 Java 网络通信框架,简化了网络编程并涵盖了最新的Web技术。它提供了一种抽象,降低了底层复杂性,使得更多开发者能接触网络编程。Netty 因其易用性、高效性和广泛的应用场景受到推崇,适合互联网行业从业者学习,有助于理解和开发基于Netty的系统。免费的《Netty实战小册》详细介绍了Netty的各个方面,包括概念、架构、编解码器、网络协议和实际案例,帮助读者深入理解和应用Netty。如需完整版小册,可点击链接获取。
阿里内部Netty实战小册,值得拥有
|
1月前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
146 0
|
4月前
|
编解码 NoSQL Redis
(十一)Netty实战篇:基于Netty框架打造一款高性能的IM即时通讯程序
关于Netty网络框架的内容,前面已经讲了两个章节,但总归来说难以真正掌握,毕竟只是对其中一个个组件进行讲解,很难让诸位将其串起来形成一条线,所以本章中则会结合实战案例,对Netty进行更深层次的学习与掌握,实战案例也并不难,一个非常朴素的IM聊天程序。
109 3
|
4月前
|
前端开发 网络协议
Netty实战巅峰:从零构建高性能IM即时通讯系统,解锁并发通信新境界
【8月更文挑战第3天】Netty是一款高性能、异步事件驱动的网络框架,适用于开发高并发网络应用,如即时通讯(IM)系统。本文将指导你利用Netty从零构建高性能IM程序,介绍Netty基础及服务器/客户端设计。服务器端使用`ServerBootstrap`启动,客户端通过`Bootstrap`连接服务器。示例展示了简单的服务器启动过程。通过深入学习,可进一步实现用户认证等功能,打造出更完善的IM系统。
194 1
|
4月前
|
移动开发 网络协议 算法
(十)Netty进阶篇:漫谈网络粘包、半包问题、解码器与长连接、心跳机制实战
在前面关于《Netty入门篇》的文章中,咱们已经初步对Netty这个著名的网络框架有了认知,本章的目的则是承接上文,再对Netty中的一些进阶知识进行阐述,毕竟前面的内容中,仅阐述了一些Netty的核心组件,想要真正掌握Netty框架,对于它我们应该具备更为全面的认知。
253 2
|
7月前
|
存储 消息中间件 缓存
Netty的基础入门(下)
Netty的基础入门(下)
132 0
|
7月前
|
前端开发 网络协议 Java
Netty入门指南:从零开始的异步网络通信
Netty入门指南:从零开始的异步网络通信
191 0
|
架构师
阿里P8架构师教你Netty源码面试解析实战(二)- 基本组件(下)
阿里P8架构师教你Netty源码面试解析实战(二)- 基本组件
125 1
阿里P8架构师教你Netty源码面试解析实战(二)- 基本组件(下)
|
Java API
Netty源码解析SimpleChannelInboundHandler
Netty源码解析SimpleChannelInboundHandler
479 0
Netty源码解析SimpleChannelInboundHandler