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

原文链接 译者:gm777
自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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/113528.html

(0)
上一篇 2021年8月27日 05:42
下一篇 2021年8月27日 05:44

相关推荐

发表回复

登录后才能评论