【问题标题】:A lightweight distributed single-producer multiple-consumer message service for the JVMJVM的轻量级分布式单生产者多消费者消息服务
【发布时间】:2013-11-11 02:57:36
【问题描述】:

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

【问题讨论】:

    标签: java scala jvm message-queue producer-consumer


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您也可以尝试使用Redisson lib 的基于Redis 的简单Java PubSub 系统

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2017-02-24
          • 2015-04-05
          • 2011-03-12
          • 2019-05-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-07
          相关资源
          最近更新 更多