netty源码分析 1-1 Netty深入剖析

我们为什么呢要学习Netty通信呢?其实业内我们有很多大型架构都是Netty作为底层通信,异步非阻塞。如:Duddo,RocketMQ,Spark,Elasticsearch,Cassandra,Flink,Netty-SocketIO,Spring5,Play,Grpc。


所以那Netty到底是什么?


1.异步事件驱动框架,用于快速开发高性能服务端和客户端。


2.封装了JDK底层BIO(同步阻塞式IO)和NIO(同步非阻塞式IO)模型,提供高可用的API.


3.自带解码器解析拆包粘包问题,用户只关心业务逻辑。


4.精心设计的reactor线程模型支持高并发海量连接


5.自带各种协议栈让你处理然后我一种通用协议都几时不用亲自动手。


有必要学吗?


1.各大开源项目选择Netty作为底层通信框架


2.更好的使用,少走弯路


3.遇到bug?单机连接数上不去?性能遇到瓶颈?如何调优?


4.讲解reactor线程模型,实践中举一反三


5.庞大的项目是如何组织的,设计模式,体验优秀的设计


6.阅读源码其实没那么苦难。


怎么学?


1.自己摸索不如前人指路。


2.对应socket编程,逐一切入。


3.踩过的坑,积累的经验总结毫无保留的分享,节省大量的时间。


4.调式,分析技巧。


最后可以达到什么水平?


1.掌握Netty底层原理,轻松解决各类疑难杂症,深度调优


2.面试加分,互联网各大框架师的职位,升值加薪,以一档三


3.给官方提issue


4.实现一个简易版的Netty


5.开启阅读源码之旅,根本停不下来。


知识储备


1.熟悉java基础,熟悉多线程


2.熟悉TCP原理,NIO


3.使用过Netty


4.maven,idea工具等。


猜你喜欢

转载自blog.51cto.com/14524696/2455526