卷首语:我和 Netty 的故事
还在上学的时候,我特别好奇 QQ 是怎么实现的,为什么我一发消息我的好友马上就能收到且基本没有延迟,它的原理是什么?大三的时候,我学习了 Java 语言,接触到了 Socket 编程,不知天高地厚的我当时居然想自己实现个简易 QQ,和几个朋友做了技术评估后觉得这个事好像不是那么难,紧接着我们就用 Swing 以及一些 Socket 编程知识完成了一个简易的局域网 QQ,虽然功能不是那么的稳定,但基本上还是可以实现私聊、群聊、文件传输、抖屏等功能。这也许是我第一次接触网络通信,核心功能部分使用了同步 I/O 的 Socket 类库。
参加工作后,公司使用的 RPC 框架是 Hessian,Hessian 是一款基于 HTTP 协议的 RPC 框架,采用的是二进制 RPC 协议,但是在 Java 中,Hessian 的服务端需要使用 Tomcat 之类的容器,而它们的性能总是那么的不如人意。因为那会公司使用的 MVC 框架是 Play,所以我很早就接触到了 Netty,它的高性能、高可靠性的特性早有耳闻。看了 Play 框架中 Netty 部分的代码以及 Netty 的官方案例后,我用 Netty 重新实现了 Hessian 的服务端,于是一款构建于 Netty 和 Hessian 基础上的高性能的 RPC 框架诞生了,我取名叫 Hetty (Hessian+Netty)。简单的性能测试之后,我发现Hetty 的性能是之前的4~5 倍,这次之后,我对Netty 有了更深入的了解,使用Netty 可以更简单的开发出高性能、可扩展、易读易维护的系统。
再到后来,我去了一家游戏公司,发现他们在服务器端大量使用了 Netty 框架,从来没有想到 Netty 在游戏行业已经得到了这么大范围的使用。不过再仔细想想,这一点都不惊奇,游戏服务器端,除了大量的业务逻辑外,其它部分其实都在玩 NIO,而 Netty 作为一款成熟的异步 NIO 通信框架,它的性能、扩展性、稳定性、使用难度都得到了业界的肯定。那 Netty 有哪些优点了?我认为有以下几点:
- 文档齐全,社区活跃,API 简单,案例很多。
- 支持多种协议,如 HTTP、FTP、SMTP。
- 性能高,易扩展。
- 周期性的版本迭代,成熟且稳定。
这么一看,工作生活中处处与 Netty 为伴,其实是 Netty 见证了我的成长,希望好的框架能让更多的人收益!
目录
- 卷首语:我和 Netty 的故事
- 云计算时代的运维分工与理念变化:腾讯资深运维 Coati 的观点 作者 杨赛
- 嵌入式 OS 的现状、智能的物联网与未来的机器人 作者 罗未
- 虚拟研讨会:在低延迟环境中使用 Java 作者 Charles Humble ,译者 夏雪
- 专题:Netty 之道
- Netty 系列之 Netty 高性能之道 作者 李林锋
- Netty 系列之 Netty 可靠性分析 作者 李林锋
- 使用 SQL Server 2014 内存数据库时需要注意的地方 作者 王枫
- 几种线程池的实现算法分析 作者 刘飞
- HBase 高性能复杂条件查询引擎 作者 耿立超
- 腾讯云刘颖:块存储深度剖析 受访者 刘颖 作者 刘宇
- 构建大型云计算平台分布式技术的实践 作者 章文嵩
- 不得不知的 S3 基础知识 作者 包研
- JVM Bug:多个线程持有一把锁 作者 李嘉鹏
- 为什么 CDN 对移动客户端加速“没有”效果作者 刘宇
- 封面植物
评论