1 Star 3 Fork 0

benwen / java-netty

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

netty 简介

netty_logo

netty是啥

netty 是一个异步事件驱动的网络应用框架,用于快速开发可维护的高性能服务器和客户端。

netty能干啥

通讯协议开发,http,websoket,rpc等,netty内置了很多通用协议的现成实现,
很多的IM(即时通讯)、P2P等需要解决高并发场景的系统都是基于netty开发。
涉及到tcp、udp,甚至是串口的网络通讯领域,netty都可以大放异彩。
通用的技术名词叫协议,在电力自动化领域,我们俗称规约,
电力规约可以基于netty开发,IEC101,IEC104,Modbus,61850等都可以基于netty开发。

使用netty的好处

netty经过精心的设计,高效,易用,高性能,安全(支持SSL/TLS)

相比JDK的NIO,netty的主要优势体现在:

  1. 使用 JDK 自带的NIO需要了解太多的概念,编程复杂,一不小心 bug 横飞
  2. netty 底层 IO 模型随意切换,而这一切只需要做微小的改动,改改参数,netty可以直接从 NIO 模型变身为 IO 模型
  3. netty 自带的拆包解包,异常检测等机制让你从NIO的繁重细节中脱离出来,让你只需要关心业务逻辑
  4. netty 解决了 JDK 的很多包括空轮询在内的 Bug
  5. netty 底层对线程,selector 做了很多细小的优化,精心设计的 reactor 线程模型做到非常高效的并发处理
  6. 自带各种协议栈让你处理任何一种通用协议都几乎不用亲自动手
  7. netty 社区活跃,遇到问题随时邮件列表或者 issue
  8. netty 已经历各大 RPC 框架,消息中间件,分布式通信中间件线上的广泛验证,健壮性无比强大

那些项目在使用netty

太多的项目在使用netty作为nio开发框架,我之前也有过多个项目的开发经验,醉过知酒浓,爱过知情重,所以我今天在这里分享自己的经验。
其实在java的开源世界里,特别是互联网、电信、大数据、游戏等领域,使用netty的项目非常多,已经无需举例。
哪些开源项目使用了 netty

为啥要学习netty

  1. 工作需要: 高效开发业务系统底层的通讯规约;
  2. 提高自己的编程能力:学习使用netty,学习netty相关的设计模式,可以提高自己对编程的理解;
  3. 提高自己的竞争力:很多互联网公司招聘时,netty都是加分项,有个两三年开发经验的Java工程师,netty还是应该掌握的;

参考文档

本文大部分内容参考了闪电侠的博客,并做了重新的组织和整理,在此次向作者致谢。
简书闪电侠:《netty源码深度分析》

扩展阅读

其它框架

空文件

简介

netty学习 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/mbigger/java-netty.git
git@gitee.com:mbigger/java-netty.git
mbigger
java-netty
java-netty
master

搜索帮助