|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/scala-akka-reactive
课程评论:没有评论
课程名称:编程反应式系统 课程概述:反应式编程是一组技术,用于根据反应式宣言实现可扩展、弹性和响应迅速的系统。此类系统基于异步消息传递,其基本构建块是事件处理程序。本课程教授如何使用高层抽象(如演员、异步计算和响应式流)在Scala和Akka中实现反应式系统。 学习内容包括: - 使用、转换和序列化异步计算,利用Future值 - 基于Actor和消息传递编写并发反应式系统,使用非类型化Akka和类型化Akka - 设计能抵御故障的系统 - 实现能够根据变化工作负载扩展的系统 - 以非阻塞方式转换和消费无限和间歇性的数据流,通过Akka Stream做到 - 理解如何通过背压控制数据流 课程大纲: 1. **介绍、回顾和异步编程** 本模块指导你开始课程。在设置工作环境和提交作业后,将回顾Scala语言的基础知识,并引入异步编程的主题,主要集中在Futures上。 2. **演员模型** 本模块介绍演员模型:分析其优点后,将学习演员系统的语义和设计原则,并具体学习如何测试基于演员的程序。 3. **处理失败和状态** 本模块进一步探索演员模型,展示创建复杂且具弹性程序的实用模式。 4. **分布式计算** 演员允许将程序解耦为可以在单台或多台机器上分布的单元。本模块详细讲解分布式计算的强大功能及其后果。 5. **类型化演员** 熟悉演员模型后,本模块展示如何利用Scala强大的类型系统,通过使用类型化演员描述编写更具信心的程序。 6. **流处理** 本模块介绍数据流的概念及流处理的基本语义,并展示如何使用Akka框架解决这一领域中的常见挑战。 7. **高级流处理** 本最后模块深入探讨更复杂和强大的流处理模式,以及如何结合演员模型创建自定义数据处理节点。 通过本课程,学员将获得在Scala和Akka环境中开发反应式系统的全面技能和知识。
Name: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.
Name: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
Name:Handling Failure and State
Description:This module further explores the Actor model by showing useful patterns used to create complex and resilient programs
Name: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
Name: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
Name: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
Name: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