Netty & Mina 入门级总结(转)

简介: Netty & Mina 入门级总结(转)

最近工作中可能需要用到Netty,就了解了一下,发现Netty和mina的关系还是挺紧密的,一起简单了解总结之:

1.    基本概念:

1)   Netty 是JBOSS提供的一个基于NIO的网络应用程序框架。使用Netty可以快速简单的开发一个网络应用。官网(https://netty.io/)提供的基础架构图:

2)   Mina是apache社区提供的一个基于NIO的网络应用程序框架。用来帮助用户简单的开发高性能和高可靠性的应用程序。官网地址(https://mina.apache.org)

ps:没找到系统架构图,谁有提供一个

3)   Netty的主导作者和Mina的主导作者都是 Trustin Lee,Mina比Netty出现的更早,但两者涉及理念基本一致,是很相似的两个网络高性能的编程框架。

2.    NettyVS Mina:

1)   Mina 将内核和一些特性联系过于紧密,使得用户在不需要这些特性的时候无法剥离,导致性能有所下降,但Netty解决了这个问题,即内置模块耦合度更小(设计更优)

2)   Netty和mina相比文档更清晰及更新周期更短,涵盖了了Mina的很多特性且Netty更加轻量级,使用更加简单。

3)   Mina对UDP提供更高层次的抽象,将UDP封装成了面向连接的协议。而Netty则直接将UDP无连接特性暴露出来(更轻量级嘛)

4)   虽然官网没有给出Mina的系统架构图,但是经过了解Mina和Netty的架构差别不大。

5)   Netty有对google protocol buf提供支持。

6)   在linux下Netty的TPS较Mina稍高一些,但稳定性稍低,总体数据接近(了解自一篇blog(自己没验证过哈))。

7)   在市场中应用中Mina的占有量比Netty高一些(毕竟Mina出现的更早嘛)

相关文章
|
消息中间件 编解码 Dubbo
为什么Netty这么火?与Mina相比有什么优势?
Netty是什么?为什么这么火? Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
392 0
|
Java 应用服务中间件 API
你知道为什么Netty这么火吗?与Mina相比又有什么优势?
为什么Netty这么火?与Mina相比有什么优势? **前言: 作为一个学Java的,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,会点SSH,写几个MVC,访问数据库和缓存,这些只是初等Java程序员干的事。
2172 0
|
Java 大数据 应用服务中间件
为什么Netty这么火?与Mina相比有什么优势?
image Netty是什么?为什么这么火? Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
2201 0
|
Android开发 HTML5 移动开发
【读后感】Netty 系列之 Netty 高性能之道 - 相比 Mina 如何 ?
【读后感】Netty 系列之 Netty 高性能之道 - 相比 Mina 如何 ? 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1200 0
|
编解码 C++ 网络协议
netty vs mina netty和mina的区别
Netty和mian比较报告 一、数据测试报告 简述:1、启动服务器,等到客户端接入      2、客户端发送链接请求。当已经链接,记录当前时间并向服务端发送约50m数据,每次1kb.            3、当服务端接收到链接,第一次接收到数据后,记录当前时间            4、服务端将接收到的数据再返回给客户端。
1389 0
|
存储 缓存 NoSQL
跟着源码学IM(十一):一套基于Netty的分布式高可用IM详细设计与实现(有源码)
本文将要分享的是如何从零实现一套基于Netty框架的分布式高可用IM系统,它将支持长连接网关管理、单聊、群聊、聊天记录查询、离线消息存储、消息推送、心跳、分布式唯一ID、红包、消息同步等功能,并且还支持集群部署。
13481 1
|
6月前
|
消息中间件 Oracle Dubbo
Netty 源码共读(一)如何阅读JDK下sun包的源码
Netty 源码共读(一)如何阅读JDK下sun包的源码
123 1
|
11月前
|
NoSQL Java Redis
跟着源码学IM(十二):基于Netty打造一款高性能的IM即时通讯程序
关于Netty网络框架的内容,前面已经讲了两个章节,但总归来说难以真正掌握,毕竟只是对其中一个个组件进行讲解,很难让诸位将其串起来形成一条线,所以本章中则会结合实战案例,对Netty进行更深层次的学习与掌握,实战案例也并不难,一个非常朴素的IM聊天程序。 原本打算做个多人斗地主练习程序,但那需要织入过多的业务逻辑,因此一方面会带来不必要的理解难度,让案例更为复杂化,另一方面代码量也会偏多,所以最终依旧选择实现基本的IM聊天程序,既简单,又能加深对Netty的理解。
154 1
|
6月前
|
编解码 前端开发 网络协议
Netty Review - ObjectEncoder对象和ObjectDecoder对象解码器的使用与源码解读
Netty Review - ObjectEncoder对象和ObjectDecoder对象解码器的使用与源码解读
129 0