disruptor (LMAX-Exchange/disruptor)
Searching Database…
这是什么?
LMAX Disruptor 是一个用于单个应用内部线程间高性能消息传递的 Java 库——也就是极快的进程内事件传递。
它是添加到我自己的 Java 项目里的库,还是要部署成服务器的软件?
是库:你把它作为依赖添加到自己的 Java 项目中,在自己的进程里使用——不需要部署任何服务器或守护进程。
我怎么把它加进项目并开始使用?
先看 README 链接的 Guide 和文档——它们会讲解编程模型;然后把该库接入你的 Gradle 或 Maven 构建。
除了 JDK 之外,运行它还需要别的东西吗?
只需要一个 JDK——它是纯 Java 的,没有本地组件,也不依赖外部服务;项目自己的 CI 就是用 Gradle 构建它的。
所以它是把一个应用内部的线程连起来——并不能在机器或服务之间传消息,对吗?
对——它的范围是单个 JVM 内的线程间消息传递。它不是网络消息中间件,不能在机器或服务之间传递消息。
它适合用来开发什么样的应用?
对延迟敏感的 Java 系统——它出自 LMAX Exchange 团队,适合那些吞吐量和延迟比易用性更重要的进程内流水线场景。
它的并发处理真的经过压力测试吗,还是只能选择相信?
CI 会运行 Java Concurrency Stress(jcstress)测试套件——先快速跑一遍,再手动深度跑一次——同时还有 Gradle 构建和 CodeQL 分析。
我可以在商业软件里使用它吗?
可以——它采用 Apache-2.0 许可证,这是一种宽松的许可证,可以自由用在商业产品中。
这是久经考验的基础设施,还是近期的实验性项目?
是成熟项目:这个仓库 2012 年就有了,由 LMAX 开发团队维护,压力测试也已经接入 CI。
What are similar projects?
EventBus, tokio, redisson, sidekiq, miaosha, caffeine, muduo, Android-Universal-Image-Loader
Which topics is it in?
asynchronous, low-latency, gradle, event-driven, multithreading, jvm, messaging, concurrency, high-performance, developers, java, performance