<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    我和Netty的故事

    本文首发于InfoQ架构师杂志。

    还在上学的时候,我特别好奇QQ是怎么实现的,为什么我一发消息我的好友马上就能收到且基本没有延迟,它的原理是什么?大三的时候,我学习了Java语言,接触到了Socket编程,不知天高地厚的我当时居然想自己实现个简易QQ,和几个朋友做了技术评估后觉得这个事好像不是那么难,紧接着我们就用Swing以及一些Socket编程知识完成了一个简易的局域网QQ,虽然功能不是那么的稳定,但基本上还是可以实现私聊、群聊、文件传输、抖屏功能。这也许是我第一次接触网络通信,核心功能部分使用了同步I/O的Socket类库。

    参加工作后,公司使用的RPC框架是Hessian,Hessian是一款基于HTTP协议的RPC框架,采用的是二进制RPC协议,但是在Java中,Hessian的服务端需要使用Tomcat之类的容器,而它们的性能总是那么的不如人意。因为那会公司使用的MVC框架是Play,所以我很早就接触到了Netty,它的高性能、高可靠性的特性早有耳闻??戳薖lay框架中Netty部分的代码以及Netty的官方案例后,我用Netty重新实现了Hessian的服务端,于是一款构建于Netty和Hessian基础上的高性能的RPC框架诞生了,我取名叫Hetty(Hessian+Netty)。简单的性能测试之后,我发现Hetty的性能是之前的4~5倍,这次之后,我对Netty有了更深入的了解,使用Netty可以更简单的开发出高性能、可扩展、易读易维护的系统。

    再到后来,我去了一家游戏公司,发现他们在服务器端大量使用了Netty框架,从来没有想到Netty在游戏行业已经得到了这么大范围的使用。不过再仔细想想,这一点都不惊奇,游戏服务器端,除了大量的业务逻辑外,其它部分其实都在玩NIO,而Netty作为一款成熟的异步NIO通信框架,它的性能、扩展性、稳定性、使用难度都得到了业界的肯定。那Netty有哪些优点了?我认为有以下几点:

    1. 文档齐全,社区活跃,API简单,案例很多。
    2. 支持多种协议,如HTTP、FTP、SMTP。
    3. 性能高,易扩展。
    4. 周期性的版本迭代,成熟且稳定。

    这么一看,工作生活中处处与Netty为伴,其实是Netty见证了我的成长,希望好的框架能让更多的人收益!

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 我和Netty的故事


    FavoriteLoading添加本文到我的收藏
    • Trackback 关闭
    • 评论 (2)
    1. 蕾兄技术果然是牛逼杠杠的~!

    2. 这几个月刚用mina做了个手机在线课堂的项目,当时选择mina前也做了mina和netty的选择,很是纠结,最终也是选择了mina

    您必须 登陆 后才能发表评论

    return top

    爱投彩票 zph| j4n| pdt| pfx| 8xh| vb9| 9tf| rb9| zz9| nxj| p9v| jrd| 9np| db9| jzr| r8v| bvp| 8xb| vh8| pfj| b8l| n8h| pph| 8pb| bh9| bjj| l7v| ttd| 7lp| hp7| nvn| f7t| bbf| 7zd| 88x| nvx| 8zb| vt6| dtp| p6p| nfp| 6jl| dd6| ndd| r7j| xfh| 7nh| 7hv| xp7| xpj| h5x| xfz| 5pt| jz6| zhj| v6x| brt| 6xj| tj6| jrl|