【发布时间】:2020-02-01 01:02:20
【问题描述】:
我可能错了,但据我了解,整个 Reactive/Event Loop 事物,尤其是 Netty,都是为了解决 Reactive/Event Loop 而发明的strong>C10K+ 问题。它有明显的缺点,因为您的所有代码现在都变成了异步,带有丑陋的回调、无意义的堆栈跟踪,因此难以维护和推理关于。
Go 的 goroutines 语言是一个解决方案,现在他们可以编写 Sync 代码并处理 C10K+。所以现在 Java 提出了Loom,它基本上复制了 Go 的解决方案,很快我们就会有 Fibers 和 Continuations 并且能够再次编写同步代码。
所以问题是:
当 Loom 在生产中发布时,它不会让 Netty 有点过时吗?
如果我们在 Java 中有 Fibers 和 Continuations,我们是否可以编写好的 Sync 代码和C10K+ 没有 Netty 可以吗?
在生产发布后,在编写 Async 代码和使用 Netty 方面,性能或解决 C10K+ 是否有任何优势织布机?
我知道 Netty 不仅仅是 Reactive/Event Loop 框架,它还拥有各种协议的所有编解码器,无论如何,这些实现都会以某种方式有用,甚至之后。
【问题讨论】:
-
@bodrin 另外,github.com/netty/netty/issues/8439
-
据我所知,Loom 中不提供延续,它们是内部的
-
@fps 在 JVM 内部?最终,当 Loom 被合并到 JVM 中时,它们可能会被称为内部,是的????????♂️
-
@bxq 我的意思是它们不会通过公共 API 暴露出来
标签: java asynchronous reactive-programming netty java-loom