首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Netty知识点,Netty知识图谱,全面解读

在实际的网络开发中,其实很少使用Java NIO原生的API。主要有以下原因:

原生API使用单线程模型,不能很好利用多核优势,如果自己去写多线程结合起来比较麻烦;

原生API是直接使用的IO数据,没有做任何封装处理,对数据的编解码、TCP的粘包和拆包、客户端断连、网络的可靠性和安全性方面没有做处理;

在《Netty权威指南》这本书里提到一个真实的故事,两个项目团队都要做基于NIO非阻塞特性的一个高性能、异步和高可靠性的底层通信框架,但一个团队选择了基于Java NIO API从头开发,另一个团队选择了基于Netty开发。最终,从头开发的团队遇到了各种各样的问题,导致项目延迟,而基于Netty开发的团队则进展顺利。

其实网络开发是一个比较复杂的事情,因为网络的不稳定性,通常会遇到各种各样的问题,比如前面提到的客户端突然断连、TCP的拆包和沾包等等。

幸运的是,网络上已经有了这么一个成熟的框架帮我们处理了这些事情,这个框架就是Netty。Netty主要应用于以下领域:

高性能的RPC框架:常用于微服务之间的高性能远程调用(如Dubbo)

游戏行业:Netty可以很轻松地定制和开发一个私有协议栈,

即时通讯:Netty基于Java NIO,并且做了一些优化,支持高性能的即时通讯

我们下面为您提供一个详细的Netty的知识图谱,有兴趣的朋友可以下载后按照自己的思路重新整理

『两则箴言』

一、做20个同类的项目,比不上都一个优质项目的深度总结

二、画画先有轮廓再有细节,学习先有方向,再定重点,最后靠坚持和努力

愿所有技术圈的朋友能够在2020年,多一些进步

『说明』

1:本图谱只是让大家做自己图谱时有所参考,而不是拷贝

2:图谱做法多,希望能按自己的思路重新拟造

3:图谱中的知识点会有些瑕疵,还希望大家多包涵

同时我们希望有志之士能够将整理好的脑图贡献出来,我们一起分享给大家。

后续我们会组织微信圈来讨论。

欢迎大家留言!

欢迎关注服务号:omsoofw和订阅:jobdata

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200205A0Q6S200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券