当前位置: 首页 > 面试题库 >

高性能网络的Netty替代品有哪些?

吴西岭
2023-03-14
问题内容

我正在选择一个网络库来实现不能花费任何微秒时间的客户端/服务器系统。它将实现自己的协议来发送和接收消息。我正在寻找一个好的NIO框架,该框架将使我能够轻松开发服务器和客户端,而不必过多担心低层选择器的细节。每个人都向我推荐Netty,但在向团队提出框架之前,我想尝试2或3个其他选择。我不太喜欢Netty的一件事是它如何使用自己的ByteBuf实现和引用计数来处理ByteBuffer。谁能分享您的想法和选择?


问题答案:

我们开发了一个NIO网络库,该库在环回过程中执行时不到2微秒,而不会为GC产生任何垃圾。正如Peter
Lawrey提到的那样,本地JDK选择器会产生大量垃圾,但是我们通过实现自己的epoll选择器解决了所有这些 垃圾泄漏问题
。忙于等待选择器线程非常有利于延迟,但是必须保持平衡,以免烧毁芯片或消耗大量能量。我们的选择器实现使用低级技巧来实现一种 节能模式 ,该 模式
可以兼顾这种平衡。


除了CoralReactor之外,您还可以查看Grizzly和Mina,但是我们还没有使用这些框架。

对于一些Netty
TCP性能基准测试,可以在这里查看。



 类似资料:
  • 有哪些可用的web UI自动化框架? 我知道这个问题,但它是3年前问的,从那时起事情发生了很大的变化。我只是想看看这个问题的答案是否仍然相关,或者从那以后已经开发了更新更好的工具。 我再问一次,因为在做了一些谷歌搜索后,我偶然发现了Geb和Capybara等工具,这些工具在该问题中没有被提及作为答案。

  • 我正在研究一个基于代理的流行病模型。这个想法是单个代理根据他们在网络中观察到的情况(基于距离)做出决定。我在每个代理中都有几个功能,可以动态更新受感染接触者的数量,接触者表现出特定行为等。 下面的代码用于计算代理网络中受感染的联系人。 至少还有3个这样的函数可以保持表示代理网络中其他功能的其他代理的计数。现在,当我 有没有一种计算效率更高的方法来跟踪更大人口的网络统计数据?

  • 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章一起了解下网络性能工具。 一、网络性能指标 二、netstat 三、route 四、iptables 一、网络性能指标 从网络性能指标出发,你更容易把性能工具同系统工作原理关联起来,对性能问题有宏观的认识和把握。这样,当你想查看某个性能指标时,就能清楚知道,可以用哪些工具。 二、netstat Netstat是一个用于检查各种网络相关信息

  • 问题内容: 出于好奇,除了cglib之外,是否有任何(稳定)开源项目用于运行时Java代码生成?我为什么要使用它们? 问题答案: ASM [java-asm](file:///C:/questions/tagged/java-asm “显示标记为“ java-asm”的问题”) CGLIB和几乎所有其他库都建立在ASM之上,而ASM本身的作用很低。对于大多数人来说,这是一个阻止因素,因为您必须了解

  • 我有Spring Cloud Gateway(Greenwich)与Netty一起运行。此应用程序接收请求,然后根据路由配置向下游应用程序发送请求。 随机很少的请求会花费很多时间(>70秒)。即使下游服务器在5秒内做出了响应,但Netty线程(reactor-http-epoll-*)并没有接收到响应。我启用了调试日志来查看那些线程正在做什么。从初步分析来看,这些线程似乎正在处理其他东西,并且始终

  • 问题内容: 问题 在解决这个问题之后,似乎基于文件或磁盘的实现可能是解决我在此处提到的问题的正确解决方案。精简版: 目前,我已将实施为。 条目以相当固定的速率连续添加到其中。稍后对此进行详细说明。 最终,无论如何,这意味着JVM耗尽了堆空间。 在工作中,(强烈)建议我使用SQLite解决此问题,但是在问了上一个问题之后,我认为数据库不是适合此工作的合适工具。所以- 让我知道这听起来是否疯狂 -我认