首先谢谢大家能从我的写作初衷看起。
为什么要写Netty源码分析篇?
1、Netty 应用领域广泛。
相信从事Java开发的程序猿来说,或多或少的都在和Netty打交道,它是网络通信领域非常出色的基础组件。也许你没有留意,但是它确实不无时无刻和你在发生着关系,我举几个列子如下:
Redis 客户端: Lettuce Lettuce
Lettuce is a scalable Redis client for building non-blocking Reactive applications
使用Lettuce,你可以轻松的实现和redis的同步、异步、Reactor模式的编程。
HttpClient : Apache HttpComponents – HttpClient Overview
支持Classic APIs,Asyn APIs, Reactice APIs, 大名鼎鼎的SpringCloud、Hbase都 在使用httpClient作为通信组件,可想而知它的厉害。
Dubbo: Apache Dubbo 出自阿里,是springCloud 微服务体系为的另外一个重量级产 品,在国内占用比较大的客户量,通信也支持Netty。
SpringCloud Gateway: 目前新版本的SpringCloud 也通过Netty 为其提供底层通信能力。
其他的还有很多,就不一一列举了,只是强调Netty在我们java 开发工作中的重要性
2、对Netty的原理了解不透彻
相信大家提起Netty 想到很多的名词,NIO、AIO、Epoll、Selector、零拷贝、高并发等等。但是具体有什么不同,底层是怎么工作的,相信很多人和开始的我一样,懵懵懂懂,网上搜索一下拿来就用,但是一旦遇到问题,或者需要我们进行高并发服务器开发的时候我们就一脸懵逼。因为实际项目需要,开发的并发服务器程序经历了从1到千万的并发量,中间也积累了一些实际经验和大家一起分享。
3、知识分享
一路走来,遇到了很多技术难题,很多次都是通过热心人士的分享才找到答案,深圳疫情期间,也想借此机会为大家的技术道路做些分享,仅此而已,最后谢谢大家能读完这系列文章的初衷。
大家在阅读过程中有任何疑问或者工作中关于调优方面的问题都可以留言,我一定会在工作之余尽快的回复大家