分享

java应用服务框架mina和netty应用案例都有哪些,两者该怎么选择?

 太极混元天尊 2018-06-10

Mina和Netty都是Java领域高性能和高可伸缩性的网络应用框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。MINA是 Apache 组织的一个项目,Netty是由JBOSS提供的一个java开源框架,Mina的历史比Netty要早,都是Trustin Lee的作品,之前看过一篇文章专门讲为什么要开发Netty,也就是Mina到Netty的演化历史,有兴趣的可以百度一下。

目前正在使用 MINA 的软件包括有:Apache Directory Project、AsyncWeb、ObjectRADIUS、RED5 Server、AMQP、Openfire 等等。Netty已经得到成百上千的商业/商用项目验证,如Hadoop的RPC框架Avro、RocketMQ以及主流的分布式通信框架Dubbo等等。

Netty与Mina相比具有哪些优势呢?

1、Netty更晚,相比Mina更加稳定,性能更好;

2、Mina将内核和一些特性的联系过于紧密,使得用户在不需要这些特性的时候无法脱离,相比下性能会有所下降,Netty解决了这个设计问题;

3、Netty的文档更加清晰,很多Mina的特性在Netty里都有;

4、Netty更新周期更短,新版本的发布比较快;

5、它们的架构差别不大,Mina靠apache生存,而Netty靠jboss,和jboss的结合度非常高,Netty有对google protocal buf的支持,有更完整的ioc容器支持(spring、guice、jbossmc和osgi);

6、Netty比Mina使用起来更简单,Netty里你可以自定义的处理upstream events和downstream events,可以使用decoder和encoder来解码和编码发送内容;

7、Netty和Mina在处理UDP时有一些不同,Netty将UDP无连接的特性暴露出来;而Mina对UDP进行了高级层次的抽象,可以把UDP当成'面向连接'的协议,而要Netty做到这一点比较困难。

目前我们公司网络通讯这块也是用的Netty,你只需要考虑协议的编码解码问题,对于网络连接、心跳机制等问题都有Netty框架来做,而且Netty默认对一些常用的协议给予了实现。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多