《Netty官方文档》本地传输接口

自4.016版本以来, Netty提供了本地的socket传输使Linux系统可以使用JNI(JAVA本地接口)。这个传输接口不仅有着高性能并且产生更少的垃圾,所以你也许会想尝试使用一下。

使用本地传输接口

由于这个本地传输接口是与NIO传输接口兼容的,你只需要查询并替代以下的内容:

  • NioEventLoopGroup → EpollEventLoopGroup
  • NioEventLoop → EpollEventLoop
  • NioServerSocketChannel → EpollServerSocketChannel
  • NioSocketChannel → EpollSocketChannel

由于这个本地传输接口不在Netty core 核心代码中,你需要修改你的pom.xml文件拉出netty-transport-native-epoll这部分代码作为依赖:

kr.motd.maven
 os-maven-plugin
 1.5.0.Final
...
io.netty
 netty-transport-native-epoll
 ${project.version}
 ${os.detected.name}-${os.detected.arch}
 ...

注意以上, 你需要指定正确的classifier配置作为依赖。在pom.xml文件extensions 扩展部分os-maven-plugin的os..detected.name和os.detected.arch 配置属性会自动配置。需要更多信息,涉及the homepage of the os-maven-plugin.
想在一个 sbt项目中使用本地传输接口,请在加上线在libraryDependencies:
配置
“io.netty” % “netty-transport-native-epoll” % “${project.version}” classifier “linux-x86_64″

构建本地传输接口包

如果你已经有了本地传输接口的jar包,那你将不用自己去构建本地接口包了,因为jar包中已经包含了已经所需要的包并且会自动加载上。
去构建本地传输接口包,你需要使用64-bit核心的2.6及其以上版本的linux操作系统。并请安装所需要的工具和库:

 # RHEL/CentOS/Fedora:
 sudo yum install autoconf automake libtool make tar \ glibc-devel libaio-devel \ libgcc.i686 glibc-devel.i686
# Debian/Ubuntu:
sudo apt-get install autoconf automake libtool make tar \ gcc-multilib libaio-dev

转载自 并发编程网 - ifeve.com

时间: 2024-09-20 00:13:14

《Netty官方文档》本地传输接口的相关文章

《NETTY官方文档》4.0的新特性及注意点(二)

半关闭套接字(Half-closed sockets) TCP及SCTP允许在不完全关闭socket的前提下关闭socket的出站传输.这样的socket称之为 'a half-closed socket',用户可以通过调用 SocketChannel.shutdownOutput() 方法来产生半关闭socket.如果远端节点关闭了出站传输,SocketChannel.read(..) 就会返回 -1,看起来跟关闭的连接似乎没区别. 3.x没有 shutdownOutput() 操作.并且 当

Apache Storm 官方文档 —— 多语言接口协议

本文描述了 Storm (0.7.1 版本以上)的多语言接口协议. Storm 多语言协议 Shell 组件 Storm 的多语言支持主要通过 ShellBolt,ShellSpout 和 ShellProcess 类来实现.这些类实现了 IBolt 接口.ISpout 接口,并通过使用 Java 的 ProcessBuilder 类调用 shell 进程实现了执行脚本的接口协议. 输出域 输出域是拓扑的 Thrift 定义的一部分.也就是说,如果你在 Java 中使用了多语言接口,那么你就需要

《Netty官方文档》设置开发环境

请注意:这个指南并不是用户指南,它是开发 Netty 本身的指南,而不是使用Netty 开发其他程序的指南. 使用64位操作系统 必须使用64位操作系统 安装必须的构建工具 64位JDK8或者以上,Apache Maven 3.1.1或者以上,Git.如果你是Linux系统,你不得不安装下列包:# yum install lsb-core autoconf automake libtool make tar \ glibc-devel libaio-devel openssl-devel apr

Apache Storm 官方文档 —— 本地模式

原文链接    译者:魏勇 本地模式是一种在本地进程中模拟 Storm 集群的工作模式,对于开发和测试拓扑很有帮助.在本地模式下运行拓扑与在集群模式下运行拓扑的方式很相似. 创建一个进程内的"集群"只需要使用 LocalCluster 类即可,例如: import backtype.storm.LocalCluster; LocalCluster cluster = new LocalCluster(); 随后,你就可以使用 LocalCluster 中的 submitTopology

《Netty官方文档》开发者指南

在找教程? 访问这里. 有问题? 在StackOverflow.com提问. 请注意这个指南不是一个"用户指南".这是给想要开发Netty的贡献者("开发人员")看的而不是给想要用Netty构建一个应用的"用户"看的. 在开始前 设置你的开发环境. 除非你的贡献很微小例如单行改动或拼写校正,读一下并签署 Individual Contributor License Agreement (icla), 或者让你的雇员签署Corporate Cont

Apache Storm 官方文档中文版

原文链接    译者:魏勇 About 本项目是 Apache Storm 官方文档的中文翻译版,致力于为有实时流计算项目需求和对 Apache Storm 感兴趣的同学提供有价值的中文资料,希望能够对大家的工作和学习有所帮助. 虽然 Storm 的正式推出已经有好几个年头了,发行版也已经到了 0.10.x,但是目前网络上靠谱的学习资料仍然不多,很多比较有价值的资料都过时了(甚至官方网站自己的资料都没有及时更新,这大概也是发展太快的社区的通病),而较新的资料大多比较零碎,在关键内容的描述上也有些

【Docker官方文档】理解Docker

本文讲的是[Docker官方文档]理解Docker,[编者的话]本文来自Docker的官方文档,详细介绍了Docker的体系结构.重要概念.内部工作机理等内容,推荐不了解Docker内部原理的同学阅读. 什么是Docker? Docker是一个用于开发.交付和运行应用的开放平台,Docker设计用来更快的交付你的应用程序.Docker可以将你的应用程序和基础设施层隔离,并且还可以将你的基础设施当作程序一样进行管理.Docker可以帮助你更块地打包你代码.测试以及部署,并且也可以减少从编写代码到部

Docker安全性——官方文档[译]

Docker安全性--官方文档[译] 本文译自Docker官方文档:https://docs.docker.com/articles/security/ 在审查Docker的安全时,需要考虑三个主要方面:◦容器内在的安全性,由内核命名空间和cgroup中实现;◦docker守护程序本身的攻击面;◦加固内核安全特性,以及它们如何与容器中互动. 内核 命名空间 Kernel Namespace Docker容器中非常相似LXC容器,并且它们都具有类似的安全功能.当您以"docker run"

Android 线性布局(LinearLayout)相关官方文档 - 参考部分

Android 线性布局(LinearLayout)相关官方文档 - 参考部分 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Android 官方文档线性布局相关资源链接汇总如下: andro