前言:
想要学好一门技术,最起码要对他有一定的了解,起码听说过相应的底层原理的东西吧,最起码你要有一点能和别人交流的内容吧,下面是我精简的一点内容,希望对于大家了解netty能有一点帮助
Netty是建立在NIO基础之上,Netty在NIO之上又提供了更高层次的抽象。
在Netty里面,Accept连接可以使用单独的线程池去处理,读写操作又是另外的线程池来处理。
Accept连接和读写操作也可以使用同一个线程池来进行处理。而请求处理逻辑既可以使用单独的线程池进行处理,也可以跟放在读写线程一块处理。线程池中的每一个线程都是NIO线程。用户可以根据实际情况进行组装,构造出满足系统需求的高性能并发模型。
为什么选择Netty
如果不用netty,使用原生JDK的话,有如下问题:
1、API复杂
2、对多线程很熟悉:因为NIO涉及到Reactor模式
3、高可用的话:需要出路断连重连、半包读写、失败缓存等问题
4、JDK NIO的bug
而Netty来说,他的api简单、性能高而且社区活跃(dubbo、rocketmq等都使用了它)
正题
全网都在讲netty,因为互联网编程的火热,在面试的过程中,尤其是一些游戏类公司或者网络应用比较多公司,类似腾讯等,对于netty的面试问比较多
线路图
这是现在在市面上面试比较常问的Netty知识点的总结。由腾讯T3-3梳理改正
但是我想应该有很多人在实际的项目生产很少或者基本没用过netty吧,但是现在有比较重视项目的问答,没问题,netty后端游戏项目白皮书奉上
需要这份netty游戏项目白皮书,关注+转发后,私信“游戏”即可
单服架构图
跨服架构
学习
光有netty项目怎么可以,怎么能缺少了学习的资料,给大家推荐一份netty学习文档
先看目录
内容展现
基础篇
入门篇
高级篇
源码篇
行业应用
这份文档从基础到行业应用都进行了相应的整理,并有代码和架构图进行支撑讲解,个人觉得是非常好的一本书籍,在我面试的时候,帮到了我很大的忙,现在也分享给大家,反正,至今为止,我没有发现更好的书籍,在netty这一块的知识讲解,需要这份文档的,关注+转发后私信“资料”即可
行业面试题架构图+游戏项目+学习文档,Netty还有什么是面试没有准备充分的嘛,准备到这样的程度,去面试,我想Netty方面,不说加分,起码应该不至于丢分吧
觉得这份文档有帮助的,欢迎关注+转发支持一波
关注公众号:Java架构师联盟,每日更新技术好文