2

我正在为 jvm 寻找一个轻量级的分布式单生产者多消费者消息服务。我希望该服务能够在与生产者相同的进程中运行。它只需要支持10s的阅读器(可能最多100s),但它需要能够具有高吞吐量。每条消息都需要准确地发送给一个消费者,无论是哪个消费者。应该只有一个有界缓冲区,并且生产者应该阻塞缓冲区已满。如果没有可用的消息,消费者应该阻止。一旦所有消费者都收到数据结束信号,生产者应该有一种方法可以发出数据结束信号并关闭服务。像 RabbitMQ、ZeroMQ 和 Kafka 这样的完整消息队列似乎不适合这种情况,我还没有找到其他任何东西。我更喜欢 Scala 库,

4

3 回答 3

2

Akka 应该能够支持 - http://akka.io/
您还可以查看 kestrel - https://github.com/robey/kestrel

于 2013-10-31T07:56:01.680 回答
0

您还可以尝试基于 Redis 和Redisson lib的简单 Java PubSub 系统

于 2015-11-17T15:23:27.217 回答
0

你绝对应该看看 Akka Streams。它们使用背压以最优雅的方式支持有界缓冲区。

于 2015-11-17T18:57:25.333 回答