ScalaAkka系列微服务架构和实践

[翻译]akka in action之akka-stream(简

2017-10-05  本文已影响111人  乐言笔记

本章内容简介:

我们将学习使用数据流来集成外部服务。

一个数据流可以是一个没有终点的元素序列。从概念上讲,流是短暂的,因为只要生产者在流上提供元素、消费者从流上读取元素,流就存在。

使用流的应用程序面临的一个挑战是,你不可能预先知道需要处理多少数据,因为在任何时候都可能产生更多的数据。另外一个挑战是,生产者和消费者处理速度的不同。如果你的应用作为流生产者和消费者之间的中介,你不得不解决的问题是:如何缓冲数据而不会导致内存溢出。还有,生产者如何知道消费者的处理速度是否能跟上?

你将在本章中看到,akka-stream提供了一种在有限缓冲中处理无限流的方法。Akka-stream在akka中用于流应用的基础性API。Akka-http(内部使用了akka-stream)提供了流化的HTTP操作。用Akka建立流应用是一个相当大的话题,所以本章将介绍akka-stream的API和使用akka-http进行流处理,从简单的管道到更加复杂的流处理图形组件。

本章中我们将看到的例子包括结构化的应用日志处理。许多应用程序创建某种日志文件,以便运行时进行调试。我们将从处理任意大小的日志文件开始,收集有趣的事件,并在分析之前不将完整的文件加载到内存中。之后我们使用akka-http,写一个日志流处理服务。在整个章节中, 我们将编写这个例子。

上一篇下一篇

猜你喜欢

热点阅读