|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/scala2-akka-reactive
课程评论:没有评论
课程名称:编程反应式系统(Scala 2 版本) 概述:反应式编程是一套技术,旨在根据《反应式宣言》实现可扩展、弹性和响应迅速的系统。这些系统基于异步消息传递,其基本构建模块是事件处理器。本课程教授如何使用Scala和Akka来实现反应式系统,利用高层次的抽象,如演员(Actor)、异步计算和反应式流(Reactive Streams)。 您将学习如何: - 使用、转化和排列基于Future值的异步计算 - 基于演员和消息传递编写并发反应式系统,使用无类型Akka和Akka Typed - 设计具有故障恢复能力的系统 - 根据变化的工作负载实现可扩展的系统 - 非阻塞地转化和消费无限和间歇性的数据流,使用Akka Stream - 理解背压如何控制数据流动 课程大纲: 1. **介绍、回顾和异步编程** 本模块将指导您如何开始课程。在设置好机器以进行作业提交后,将回顾Scala语言的基础知识,并介绍课程的第一个主题:使用Futures进行异步编程。 2. **演员模型** 本模块介绍演员模型:在分析其优势和强项后,您将学习演员系统的语义和设计原则,并学习如何具体测试基于演员的程序。 3. **处理失败和状态** 本模块进一步探讨演员模型,通过展示用于创建复杂和弹性程序的有用模式。 4. **分布式计算** 演员允许您将程序解耦为可以在单台或多台机器上分布的单元。本模块阐述分布式计算的力量及其后果。 5. **类型化演员** 现在您已经熟悉演员模型,本模块将展示如何利用Scala强大的类型系统,通过使用类型化演员描述编写更具信心的程序。 6. **流处理** 本模块介绍数据流的概念和流处理的基本语义,并展示如何使用Akka框架解决这一领域中的常见挑战。 7. **高级流处理** 本模块深入探讨流处理中的更多复杂而强大的模式,以及如何整合演员模型创建自定义的数据处理节点。 通过本课程,您将掌握构建现代反应式系统所需的关键技能和知识。
Part: 1
Title:Introduction, Recap and Asynchronous Programming
Description:This module shows you how to get started with the course. After setting up your machine to work on and to submit assignments, it will provide you with a recap of the basics of the Scala language. Finally, you will encounter the first topic of the course, asynchronous programming with Futures.
Part: 2
Title:The Actor Model
Description:This module presents the Actor model: after analyzing its advantages and strengths, you will learn the semantics and design principles of actor systems before learn how to concretely test actor-based programs
Part: 3
Title:Handling Failure and State
Description:This module further explores the Actor model by showing useful patterns used to create complex and resilient programs
Part: 4
Title:Distributed Computing
Description:Actors allow you to decouple a program in units that can be distributed on a single or on multiple machines. This module elaborates on the power and the consequences of distributed computation
Part: 5
Title:Typed Actors
Description:Now that you are familiar with the Actor model, this module shows how to leverage Scala's powerful type system to write programs with more confidence by using typed actor descriptions
Part: 6
Title:Stream Processing
Description:This module introduces the concept of data streams and the basic semantics of stream processing before showing how the Akka framework can be used to tackle common challenges in this domain
Part: 7
Title:Advanced Stream Processing
Description:This final module elaborates on more complex and powerful patterns in stream processing as well as how to the integrate the actor model to create custom nodes of data processing
Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams. You will learn how to: - use, transform and sequence asynchronous computations using Future values - write concurrent reactive systems based on Actors and message passing, using untyped Akka and Akka Typed - design systems resilient to failures - implement systems that can scale out according to a varying workload - transform and consume infinite and intermittent streams of data with Akka Stream in a non-blocking way - understand how back-pressure controls flows of data