我对LMAX Disruptor的理解是,它是一个 JAR,里面装满了可怕的快速、可怕的并发 Java 代码,每秒可以处理 2000 万条消息(如果使用正确的话)。
我们目前有一个 ActiveMQ 实例,它在整个过程中运行速度很慢,大约每秒 400 条消息。我想知道我们是否会从重构代码以使用 LMAX 中受益,但有以下担忧:
- 如何拥有 1 个发布者和多个(竞争)消费者
- LMAX 如何存储/存放它的信息?在记忆中?
- 故障转移 - LMAX 是否有故障转移协议/机制
- 磁盘 I/O - LMAX 可以将未使用的消息保存到磁盘并在以后恢复它们吗?
而且,如果我对所有这些完全不了解,并且似乎完全误解了 LMAX Disruptors 的使用,那么有人可以提供一个具体的例子来说明何时使用它吗?提前致谢!