美文网首页Scala In ActionAkka
基础和使用流(akka)

基础和使用流(akka)

作者: 吕亦行 | 来源:发表于2017-01-31 17:58 被阅读137次

    原文地址:Basics and working with Flows
    本文仅做一些核心概念的解释,以方便理解Akka和Squbs

    核心概念

    Akka Stream是一个类库,使用有界缓冲区间处理和转换一系列元素。后面一个属性就是我们所说的有界性,它是Akka Streams的定义特征。翻译成日常用语,可以表达为处理实体的链(或者是我们后面可以看到的图标),每个独立的执行(并且可能同时)的同时缓冲一个固定大小的元素在任何时间。缓冲区边界参数在每个actor模型中都不同,每个actor可能为无界的,有界但下降邮箱。Akka Stream处理实体具有不下降的“邮箱”。
    在我们继续之前,让我们定义一些基础的术语,这在整篇文章中将会用到:
    Stream(流)
    一个包括移动和转换数据的活跃进程

    Element(元素)
    element 是流的处理单元。所有将元素从上行流转换到下行流的操作。缓冲大小通常表达成元素的数目,独立表达实际的元素大小。

    Back-pressure(背压)
    流量控制的手段。一个数据消费提供生产者关于它们当前可用性的方式,有效的减少上游生产者来匹配它们消费者的速度。Akka Streams背压的上下文始终理解为非阻塞异步

    Non-Blocking(非阻塞)
    意味着一个确定的操作不会阻碍调用线程的调用进度,即便它花费很长的时间结束请求操作。

    Graph(图表)
    流处理拓扑的描述,定义运行时的流的元素流向的路径。

    Processing Stage(处理阶段)
    所有构建图形的构建块的通用名称。processing stage的例子如map(), filter(),通过transform()添加的stage,如PushStagePushPullStageStatefulStage。图表方法如 MergeBroadcast`。有关内置处理stage的完整列表参见 Overview of built-in stages and their semantics

    相关文章

      网友评论

      本文标题:基础和使用流(akka)

      本文链接:https://www.haomeiwen.com/subject/xfrkittx.html