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

    xiaoxiao2024-05-14  122

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

    使用本地传输接口

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

    NioEventLoopGroup → EpollEventLoopGroupNioEventLoop → EpollEventLoopNioServerSocketChannel → EpollServerSocketChannelNioSocketChannel → 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

    相关资源:Netty中文用户手册.pdf
    最新回复(0)