2019独角兽企业重金招聘Python工程师标准>>>

mina比netty出现的早,都是Trustin Lee的作品; mina将内核和一些特性的联系过于紧密,使得用户在不需要这些特性的时候无法脱离,相比下性能会有所下降;netty解决了这个设计问题; netty的文档更清晰,很多mina的特性在netty里都有; netty更新周期更短,新版本的发布比较快; 它们的架构差别不大,mina靠apache生存,而netty靠jboss,和jboss的结合度非常高,netty有对google protocal buf的支持,有更完整的ioc容器支持(spring,guice,jbossmc和osgi); netty比mina使用起来更简单,netty里你可以自定义的处理upstream events 或/和 downstream events,可以使用decoder和encoder来解码和编码发送内容; netty和mina在处理UDP时有一些不同,netty将UDP无连接的特性暴露出来;而mina对UDP进行了高级层次的抽象,可以把UDP当成"面向连接"的协议,而要netty做到这一点比较困难。mina把TCP和UDP一样当"有连接"的处理,一个UDP请求会按照address产生一个新的 IoSession,过期时间是1分钟,这样做的好处是显然的,但是对于有性能要求的项目就不好了,对一个无连接的东西cache 1分钟,大多数时候可能是白cache了,做无用功。 Mina这样做可能还有个初衷是连续解码用的,比如一个包太大了,分了两次传输;但是这样的设计应该是udp大忌了。 mina是heapbytebuffer,每次bytebuffer.allocate去分配。同时根据『满则增大一倍,两次一半则缩减一半』 netty是directbytebuffer,同时应该buffercache的存在,在buffersize不变的情况下,重复使用。分配大小是依赖buffersize分配表,有一套预测算法来分配。快速应对增大,而缓慢shrink

转载于:https://my.oschina.net/beloser/blog/178831

NettyMina (转)相关推荐

最新文章

  1. 分模块开发创建父工程——(六)
  2. 研究之路的秘密花园-个人经验分享-台湾朝阳科技大学陈金铃教授
  3. Ubuntu下编译内核
  4. windows adb shell 乱码
  5. infoq 视频下载 [转老赵]
  6. TensorFlow入门:TensorFlow工作原理
  7. 谭浩强C语言(第三版)习题9.10
  8. C/C++教程 第十七章 —— MFC开发多人聊天室
  9. c# 图像识别 车辆型号【百度AI】
  10. 网易公开课“Programming Paradigms” 笔记
  11. ERP系统具有哪些功能?
  12. erp实施 数据库面试题_erp实施顾问笔试题有什么_erp实施顾问笔试题
  13. java 父类构造_java 父类构造器
  14. 2020李宏毅学习笔记——14.Convolution Netural Network
  15. FTP服务器异地备份文件,ftp异地备份
  16. Mysql中的升序和降序以及一个字段升序和一个字段降序
  17. 安卓逆向学习资料推荐
  18. 基于贝叶斯生存分析的《冰与火之歌》人物死亡率分析
  19. Components of Ryu
  20. NB-IoT天线同轴电缆RG316、RG174、RG178

热门文章

  1. 设计模式学习笔记(3)装饰器
  2. linux 安装apache、tomcat问题汇总
  3. springmvc + excel代
  4. nginx做负载CDN加速获取端真实ip
  5. Android UI 之WaterFall瀑布流效果 [复制链接]
  6. jQuery弹出窗口完整代码
  7. 【物联网智能网关-08】TinyGUI和WPF汉字显示技术比较
  8. LeetCode 73. Set Matrix Zeroes
  9. 判别式模型和生成式模型的区别(discriminative model and generative model)
  10. 基本法求解位示图编号问题