Netty 网络编程之道--掘金小册课程推荐/优惠
版权声明
本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
课程介绍
你将获得
- 全面学习 Netty 各个组件,系统掌握 Netty 的使用;
- 系统学习 TCP 网络协议及 JAVA NIO;
- 以 Netty 源码为基础,彻底了解 Netty 底层原理;
- 3+ 个完整 Netty 项目开发流程及源代码;
作者介绍
肖恩Sean,基础架构资深架构师。10 年+ 互联网一线开发经验,先后就职于美团、去哪儿网、京东
等大厂。长期从事基础架构中间件研发,特别对于高性能 RPC 和高性能通信有深入理解和实践。参与过自研 RPC 的工作,主导了 RPC 协议设计、服务治理 Mesh 化的落地。同时,对于 Kafka、Netty 等经典中间件也达到了源码级的理解。
掘金小册《Kafka 源码精讲》作者。
小册介绍
Netty 目前已经是 Java 网络编程最优秀的网络编程框架了。如果你是一个 Java 程序员,你的领导让你维护或者实现一个通信模块,那么 Netty 是必学的核心通信组件,没有之一
。
我学习和使用 Netty 将近 10 年,了解它越多,就越觉得它是个非常优秀的框架。在学习和实践 Netty 的过程中,我发现 Netty 不仅包含了很多互联网底层协议知识,也蕴含了很多 Java 编程的高阶技巧,所以它也是我们学习 Java、学习网络编程不可多得的经典案例。
你如果想用 Netty 写一个简单的网络通信程序是很简单的,网上随便一搜,肯定有一大堆 Demo。但是,如果要学习 Netty 的内部原理、了解它到底怎么工作起来的,以及它底层用到的网络协议
、Java NIO
技术,以及 Netty的核心原理
和应用
,却是一个比较漫长的过程,因为它不仅要求对 Java 编程的高阶知识有掌握,还要懂网络知识。同时,Netty 包含了各种算法、优化策略在其中,这也是 Netty 学习的难点之一。
因此,本小册在内容设计上会遵循学习的客观规律
,从底层 TCP 协议讲起,然后再讲解 Java NIO 的原理,最后再给大家讲解 Netty 的原理和应用,同时会带领大家学习如何优化基于 Netty 的网络通信项目。
在这个过程中,你不仅能够学习到 Netty 的设计精髓,而且还会对以后设计类似组件很有借鉴意义。
除此之外,本小册对难以理解的原理和概念,都会通过流程图给大家拆分并分步骤讲解
。比如下面的 TCP 滑动窗口动态变化流程图:
以及多路复用的原理
的示意图:
同时,在讲解源码流程的时候,考虑到源码长而且流程复杂,也会给大家以流程图的形式进行梳理,如下图的 Netty 创建 ServerSocketChannel 的流程图:
所以说,如果技术点难以理解,放心,我也一定能通过形象的流程图给你`化繁为简地讲解明白。
总之,学完这本小册后,你将能够熟练使用 Netty 进行相关项目的开发、优化及故障处理,并且能够充分理解 Netty 的设计原理,让你收获满满。
你会学到什么?
在工作和面试过程中,Java 工程师经常会遇到网络通信及 Netty 的一些概念和实践问题。基于上述问题,本小册讲解了网络通信的一些核心概念与实践,以及 Netty 的使用和原理分析,共划分为 三大模块
。
-
模块一,夯实网络编程基础知识。该模块会给大家介绍最底层的网络编程基本原理,以及网络通信协议,让大家知道 Java 语言实现的网络通信软件在最底层都做了什么,以及是如何做的。
-
模块二,详细讲解 Java NIO 的核心组件原理和使用,以及
多路复用的原理
。这会为后面的实践环节和原理剖析打下基础。 -
模块三,Netty 入门开发与原理介绍。该模块会带领大家实现一个基于 Netty 搭建的生产环境的通信模块,然后再给大家讲解 Netty
各个组件的功能
、Netty 的设计原理
,包括 Netty 核心组件、Netty线程模型
Reactor、Netty高性能缓冲设计
、编解码设计
,以及如何实现百万级高并发
等相关内容的详尽剖析。
适宜人群
- 对于近期要
面试的同学
很有用。面试过程中,面试官经常会提问 TCP 协议,JAVA NIO, Netty 的相关知识,而本小册涵盖了这三个方面的全部知识。 - 对于
初级程序员
来说,搞懂网络原理、学习 Java NIO 各个组件和上手使用 Netty 实现通信软件,这些知识对于入门级 Java 程序员是必须要掌握的。 - 对于
中高级程序员
来说,能够通过网络协议的学习和 Netty 原理的讲解,做到网络协议和 Netty 原理的相互印证,这样就会更高效地处理 Netty 使用过程中出现的一系列网络问题。
课程目录
- 传输层的明星:TCP 协议
- 互联网底层逻辑:7 层网络模型介绍
- TCP连接的生死 :连接的建立和关闭
- 在可靠性和吞吐量之间权衡:Nagle 算法和滑动窗口
- 网络挂了怎么办:超时和重试(上)
- 网络挂了怎么办:超时和重试(下)
- 如何打破僵局?避免死锁和探活机制
- Java NIO 的数据运输大队:Buffer 与 Channel 详解
- 阻塞的 IO 胜任高并发吗?持续优化 Java IO
- 开篇词:如何学好 Netty?
- IO 提升的救星:Java NIO 多路复用技术
- Netty 核心流程分析:Netty 服务端是如何建立连接的?
- 后记
- 初识 Netty:用一个例子来浅析基本组件
- Netty 高并发设计的基石:Reactor 设计模式
- 手写 HTTP 服务:基于 Netty 实现 HTTP Server
- Netty 核心流程分析:客户端与服务端之间的读写过程
- 手写 RPC :RPC 需求分析以及基础模块
- Netty 单机支撑上万连接原理(上):详解 Netty 线程模型与 ByteBuf
- 手写 RPC:粘包拆包问题的解决
- 手写 RPC :RPC 项目的整体框架实现
- Netty 处理事件机制:Handler 与 Pipeline
- Netty 单机支撑上万连接原理(下):零拷贝与 Netty
- 手写 WebSocket 服务:基于 Netty 实现 websocket服务