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

引言

通信框架其实有很多,再不济可以使用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现状

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

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

三、Netty特性

四、总结

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

发布了88 篇原创文章 · 获赞 49 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Diamond_Tao/article/details/102758835