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