簡體   English   中英

Sink.actorRefWithAck 可以批量發送消息嗎?

[英]Is batch message sending possible with Sink.actorRefWithAck?

我正在使用 Akka Streams 並且遇到了Sink.actorRefWithAck 我知道它會發送一條消息,並且僅在收到對上一條消息的確認后才嘗試從 stream 中拉入另一個元素。 有沒有辦法用這個接收器批處理消息? 示例:拉取 5 條消息,只有在前 5 條消息被確認后才拉取接下來的 5 條消息。 我想過類似的事情

source.grouped(5).to(Sink.actorRefWithAck(...))

但這需要接收器更改為使用序列,讓我們假設這是不可能的。

不,這對於Sink.actorRefWithAck()是不可能的,同時保持單個消息在參與者郵箱而不是整個批次中排隊。

更急切地將參與者收件箱中的消息排隊的一種想法是使用source.mapAsync(n)(ask-actor).to(Sink.ignore) 這會將n發送給參與者,然后一旦第一個從參與者那里得到響應,它就會拉出一個新元素並將其加入隊列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM