2017-02-02 25 views
0

阿卡流如何在封面下工作?akka流是否使用封面下的工作拉模型?

它本质上是一个工作拉动(http://www.michaelpollmeier.com/akka-work-pulling-pattern),但也许有多个步骤的工作拉动机制?

有人可以指点我的源代码,我可以知道它是如何做到的,还是它在封面下面太复杂了? :)

+0

我不知道它是如何工作的,但考虑到这个的存在:https://github.com/akka/akka/blob/master/akka-stream/src/main/scala/akka/stream/ OverflowStrategy.scala我会猜测,不,它不使用工作拉。 – childofsoong

+0

AFAIK akka-streams是http://www.reactive-streams.org/的一个实现,它使用了一个模型,在这个模型中,订阅者告诉发布者何时允许它推送(所以我想在技术上推测是推模型)。 – Dylan

回答

1

Akka Streams implements Reactive Streams。这个想法是你在你的流中有“背压”,所以消费者可以向生产者发出它的需求信号。这导致“动态推挽”:

如果消费者比生产者慢,这是“拉”。

如果生产者比消费者慢,这是“推”。

请参阅http://www.slideshare.net/rolandkuhn/reactive-streams了解更多信息。