当前位置: 首页 > 知识库问答 >
问题:

Akka流:将新的发布者/订阅者附加到流

危烨煜
2023-03-14

我正在构建一个Akka应用程序,并希望向外部消费者公开一些参与者的FSM状态转换。(最终目标是能够将状态转换消息推送到websocket,以便可以实时查看。)

    val orderFlow: Flow[String, String, NotUsed] = {
        val (sink, source) = MergeHub.source[String](16)
            .toMat(BroadcastHub.sink(256))(Keep.both).run()
        Flow.fromSinkAndSource(sink, source)
    }

共有1个答案

谭富
2023-03-14

对于这个特殊的问题,我不会使用akka-stream。您描述的组播pub-sub类型更适合于原始的actor消息传递和EventStream

我是akka-stream的超级粉丝,但在这种情况下,我认为你是试图通过一个圆孔适合一个方形的钉子。

 类似资料:
  • 我想用Java实现各种各样的发布者/订阅者模式,但目前已经没有主意了。 有1个发布者和N个订阅者,发布者发布对象,然后每个订阅者需要按照正确的顺序对每个对象进行一次且仅处理一次。发布者和每个订阅者在自己的线程中运行。 在我最初的实现中,每个订阅者都有自己的阻塞队列,发布者将对象放入每个订阅者的队列中。这可以正常工作,但如果任何订阅者的队列已满,发布者将被阻塞。这会导致性能下降,因为每个订阅者处理对

  • 目前,我已经开始使用ActiveMQ处理JMS主题。我已经通过JAVA代码(如下所述)创建了发布者和持久订阅者,并且在订阅者端也收到了消息。 Publisher.Java 订阅者.java 我对以下主题有一些疑问, 如何检查有多少订阅者使用 Java JMS 在主题中主动查找消息? 如何从主题中获取活动和持久订阅者列表? 我们是否可以删除主题中发布的消息? 在这些情况下帮助我。 提前致谢。

  • 我正在创建一个API来发布和使用来自RabbitMQ的消息。在我当前的设计中,发布者将发出一个POST请求。我的API会将POST请求路由到Exchange。这样,发布者在发布时就不必知道服务器地址、exchange名称等。 现在消费者部分是我不确定如何继续的地方。 开始时不会排队。当一个新的消费者想要订阅一个主题时,那么我将创建一个队列并将其绑定到交换。我需要一些问题的答案- 一旦我为使用者创建

  • 我有一个谷歌云发布/订阅和云数据流处理架构,我需要有保证的消息排序。是否可以设置订阅消息流,以便每个主题的数据流工作线程是固定的,因此消息通过相同的数据流工作线程路由,因此应该实现消息排序。 谢谢

  • 是否有任何示例代码可以让一个主机发布事件,而另一个主机通过Esper框架接收事件(侦听器或订阅者)。我注意到Esper提供了不同的适配器(套接字、JMS和HTTP),但找不到相应的示例代码。谢谢

  • 我需要在发布/订阅模式下调用Kafka消费者1000次。据我所知,为了让kafka在发布/订阅模式下工作,我需要给每个消费者一个新的groupId(props . put(" group . id ",String.valueOf(Instant.now())。toEpochMilli()));).但是当我这样做的时候,如果两个消费线程同时访问消费线程,就会出现问题。这个问题应该怎么解决?