Netty源码分析系列之二:为什么选择Netty

本文阅读 2 分钟
首页 代码,Java 正文

引言

通信框架其实有很多,再不济可以使用JDK NIO。为什么很多框架以及自己做项目开发的会使用Netty作为通信框架呢?本文将就此展开阐述。

  • 为什么不直接使用NIO
  • Netty现状
  • 总结

一、为什么不直接使用NIO

(1)Netty支持的功能比JDK NIO更多,如以下:

  • 支持多种常用的通信协议(HTTP、 WebSocket 、Protobuf、 Binary TCP |和UDP),不需要自己实现相关协议的编解码;
  • 解决网络传输问题,如半包、粘包现象;
  • 完善的异常处理,如断连重试等;
  • 实现更多的定制功能,如流量控制,黑白名单等;

(2)Netty规避了很多JDK NIO存在的Bug; (3)Netty框架中的相关实现API更加友好以及易用; (3)Netty框架屏蔽了底层通信实现细节,兼容JDK NIO的版本变化;

二、Netty现状

Netty的Github地址: Netty 目前使用的版本是4.1版本,4.1支持Android。 使用Netty的框架:

  • Spark
  • RocketMQ
  • ElasticSearch
  • Dubbo
  • Zookepper
  • Spring5

三、Netty特性

四、总结

本文主要介绍了使用Netty的好处与原因,它支持的协议越来越多,紧随JDK更新。从下文开始我们要对Netty的使用以及源码进行介绍。

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/Diamond_Tao/article/details/102758835
-- 展开阅读全文 --
大白话讲解JDK源码系列:从头到尾再讲一遍ThreadLocal
« 上一篇 01-30
KillDefender 的 Beacon 对象文件 PoC 实现
下一篇 » 02-09

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复