[英]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.