引子
准确来说,IO API 不算是 Akka Streams的内容,但它却是 Streaming IO (TCP) 的基础。
IO API 编程的第一步,是获取一个管理对象的引用。比如我们想针对TCP编程,可以这么获取 TCP Manager:
[crayon-674f4920337af[……]
There are 7 posts filed in Scala.
准确来说,IO API 不算是 Akka Streams的内容,但它却是 Streaming IO (TCP) 的基础。
IO API 编程的第一步,是获取一个管理对象的引用。比如我们想针对TCP编程,可以这么获取 TCP Manager:
[crayon-674f4920337af[……]
Akka Streams 为异步编程提供了管道和流式接口,但如果我们希望结合 actor 模型的消息机制呢?Akka Streams提供了如下解决方案:
Sink.actorRef
产生 ActorRef,做为下游结点接收管道里的流数据Source.actorRef
产生A[……]Stage 是 Akka Streams 里的核心概念,它代表了在Graph里的单位,是如何定义输入端口(Inlet) / 输出端口(Outlet) 的;常用的基础形态有:
reactive streams 是一个异步流标准,Akka项目是这个标准最早的实现者之一。
标准定义了两个通道:
标准要求这两个通道间的通信是异步非阻塞的,并且是基[……]
Akka 在容错方面有如下特点:
Akka 对于错误的观点值得称[……]
最近在学习 Akka,因为Scala的新版本已将Actors迁移到Akka [1](教材就是那本烂到一定程度的 Akka in action,排版字体代码示例一如既往的Manning式的糟糕)——至于为什么要学习Actors,大概是因为 红宝书 里提出了一些对异步编程组合子的设计要求。[……]
RingBuffer (环形缓冲区),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流(用来实现轮转功能的日志也很合适)。
它亦是一个队列,先进先出(FIFO)。这意味着,入队永远是在环的尾部(tail),出队永远是在环的头部(head)。这个环的容量是一开始[……]