性能上从低到高如下:

  • OioSocketChannel:传统,阻塞式编程。
  • NioSocketChannel:select/poll或者epoll,jdk 7之后linux下会自动选择epoll。
  • EpollSocketChannel:epoll,仅限linux,提供更多额外选项。
  • EpollDomainSocketChannel:ipc模式,仅限客户端、服务端在相同主机的情况,从4.0.26版本开始支持,见https://github.com/netty/netty/pull/3344。

关于unix domain socket的详细解释,可参考:

http://blog.csdn.net/guxch/article/details/7041052

关于epoll/poll/select的白话文解释,可参考:

https://my.oschina.net/dclink/blog/287198

epoll用法以及帮助手册:

http://man7.org/linux/man-pages/man7/epoll.7.html

http://blog.chinaunix.net/uid-311680-id-2439723.html

http://www.tuicool.com/articles/y6je2yf

http://www.tuicool.com/articles/mQ3iAr

关于epoll模式下连接的超时时间设置可参考:

http://stackoverflow.com/questions/6590531/how-do-i-implement-epoll-timeout

netty支持的各种socketchannel实现及比较的更多相关文章

  1. RPC基于http协议通过netty支持文件上传下载

    本人在中间件研发组(主要开发RPC),近期遇到一个需求:RPC基于http协议通过netty支持文件上传下载 经过一系列的资料查找学习,终于实现了该功能 通过netty实现文件上传下载,主要在编解码时 ...

  2. netty 支持多种通讯协议

    通讯协议,指的是把Netty通讯管道中的二进制流转换为对象.把对象转换成二进制流的过程.转换过程追根究底还是ChannelInboundHandler.ChannelOutboundHandler的实 ...

  3. netty支持的协议

    流经网络的数据总是具有相同的类型:字节.这些字节是如何流动的主要取决于我们所说的 网络传输--一个帮助我们抽象底层数据传输机制的概念.用户并不关心这些细节:他们只想确保他们的字节被可靠地发送和接收. ...

  4. netty支持SSL,OpenSSL

    import io.netty.channel.Channel; import io.netty.channel.ChannelInitializer; import io.netty.handler ...

  5. Netty对常用编解码的支持

    参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! Netty对编解码的支持 打开Netty的源码,它对很多的编码器都提 ...

  6. netty系列之:使用netty实现支持http2的服务器

    目录 简介 基本流程 CleartextHttp2ServerUpgradeHandler Http2ConnectionHandler 总结 简介 上一篇文章中,我们提到了如何在netty中配置TL ...

  7. Netty 系列之 Netty 高性能之道

    1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用 Netty4 + Thrift 压缩二进制编解码技术,他们实现了 10 W TPS(1 K 的复杂 POJO 对象)的跨 ...

  8. Netty系列之Netty高性能之道

    转载自http://www.infoq.com/cn/articles/netty-high-performance 1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Ne ...

  9. Netty系列之Netty可靠性分析

      作者 李林锋 发布于 2014年6月19日 | 29 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单   1. 背景 1.1. 宕机的代价 1.1. ...

随机推荐

  1. 修改CentOS的IP地址

    一.临时修改 命令:ifconfig eth0 192.168.1.147 重启或者关机后,iP地址将会恢复到修改之前的状态. 二.永久修改 命令: vi /etc/sysconfig/network ...

  2. 工作流引擎--swamp

    什么是工作流引擎(Workflow Engine )   例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性.易维 ...

  3. MySQL--9存储引擎

    存储引擎:存储数据.查询数据的一种技术. 关系型数据库中数据是以表的形式存储的,所以存储引擎也叫表类型.

  4. Asp.netCore之安装centos7 资料收集

    虚拟机的安装和centos的安装看博友的文章:https://www.cnblogs.com/zhaopei/p/netcore.html ifconfig 在centons中用终端写命令比较费劲,可 ...

  5. php函数addslashes()使用方法详解

    实例 在每个双引号(")前添加反斜杠: <?php $str = addslashes('Shanghai is the "biggest" city in Chi ...

  6. Linux 7.x 设置主机名称

    Linux 7.x 设置主机名称 在Linux7.x 版本中,临时设置主机名称使用指令:hostnamectrl set-name 主机名称 [root@localhost ~]# hostname ...

  7. React创建组件的不同方式(ES5 & ES6)

    一. 首先缕清楚React.createElement.React.createClass.React.Component之间的关系 1. React.createElement(HTML eleme ...

  8. Css预处理器---Less(三)

    四.Color函数 1.less提供的颜色运算函数,颜色会被转换成HSL色彩空间,然后再通道级别进行操作,函数如下: lighten(@color, 10%); //return a color wh ...

  9. Python底层库的函数中from __future__ import absolute_import的作用

    在查看TensorFlow的底层优化器时候看到from __future__ import absolute_import 查找相关资料后发现 这个语句的意思是加入绝对引用的特征 直白的意思是,比如: ...

  10. UVa-116 Unidirectional TSP 单向旅行商

    题目 https://vjudge.net/problem/uva-116 分析 设d[i][j]为从(i,j)到最后一列的最小开销,则d[i][j]=a[i][j]+max(d[i+1][j+1], ...