Logo
☆☆☆☆☆
0.0
Intermediate
11h 10m

Elixir 中的并发数据处理

大多数工程师并不认为并发编程与普通编程有本质区别。数据处理指的是以某种方式转换信息,例如生成报告、数据聚合或分析。而并发则主要着眼于显著提升性能。 本课程旨在帮助你掌握 Elixir 生态系统中可用的各类并发工具。你将学习使用广受欢迎的模块和库,如 GenServer、GenStage、Flow 和 Broadway。通过本课程,你将能够接收数据、构建数据处理管道,并使用 Elixir 运行并发进程。 课程结束时,你将掌握一系列新的技术手段,从而简化产品设计、提升代码性能,并增强应用在高负载情况下的稳定性与韧性。

7 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
Elixir 中的并发数据处理
大多数工程师并不认为并发编程与普通编程有本质区别。数据处理指的是以某种方式转换信息,例如生成报告、数据聚合或分析。而并发则主要着眼于显著提升性能。 本课程旨在帮助你掌握 Elixir 生态系统中可用的各类并发工具。你将学习使用广受欢迎的模块和库,如 GenServer、GenStage、Flow ...

WHAT YOU'LL LEARN

理解 Elixir 中的并发机制

Content

7 Lessons • 0 Quizzes • 0 Challenges

入门
  1. 1

    本课程涵盖哪些内容?

  2. 2

    环境与依赖版本要求

使用 Task 模块轻松实现并发
  1. 1

    并发编程入门

  2. 2

    任务模块简介

  3. 3

    创建游乐场

  4. 4

    开始任务并获取结果

  5. 5

    同步与异步程序

  6. 6

    获取任务的结果

  7. 7

    使用 await 和 yield 函数获取结果

  8. 8

    停止任务和异步任务

  9. 9

    管理一系列任务

  10. 10

    async_stream 函数的参数

  11. 11

    链接进程

  12. 12

    认识主管

  13. 13

    使用 Task.Supervisor

  14. 14

    理解“让其崩溃”的理念

  15. 15

    总结

  16. 16

    测验:使用 Task 模块实现简单的并发

使用 GenStage 的数据处理流水线
  1. 1

    背压

  2. 2

    GenStage 简介

  3. 3

    生产者和消费者

  4. 4

    构建数据处理流水线

  5. 5

    理解消费者需求

  6. 6

    重新回顾生产者

  7. 7

    增加更多消费者并缓冲事件

  8. 8

    使用 ConsumerSupervisor 实现并发

  9. 9

    创建多阶段数据管道

  10. 10

    通过增加进程来扩展阶段

  11. 11

    选择合适的调度器

  12. 12

    总结

  13. 13

    测验:使用 GenStage 的数据处理管道

使用 GenServer 的长时间运行进程
  1. 1

    长时间运行的进程与启动 GenServer

  2. 2

    GenServer 回调:init

  3. 3

    GenServer 回调:handle_continue 和 handle_call

  4. 4

    GenServer 回调:handle_cast

  5. 5

    GenServer 回调:handle_info

  6. 6

    GenServer 回调:terminate

  7. 7

    对我们的 GenServer 进行优化改进

  8. 8

    我们任务处理系统的架构蓝图

  9. 9

    如何使用匿名函数

  10. 10

    DynamicSupervisor 监督者

  11. 11

    进程重启值与频率

  12. 12

    实现一个监督者

  13. 13

    监督者策略

  14. 14

    注册表进程

  15. 15

    注册新进程并查询注册表

  16. 16

    限制并发并检查监督者

  17. 17

    检查正在运行的进程并停止监督者

  18. 18

    总结

  19. 19

    测验:使用 GenServer 实现长时间运行的进程

使用流处理集合
  1. 1

    Flow 库简介

  2. 2

    读取文件

  3. 3

    通过流提升性能

  4. 4

    并发运行流并理解流的处理流程

  5. 5

    reduce 函数

  6. 6

    使用分区进行路由事件

  7. 7

    分组并排序

  8. 8

    窗口与触发器

  9. 9

    从运行缓慢或无限的流中获取快照

  10. 10

    向 GenStage 管道添加流

  11. 11

    总结

  12. 12

    测验:使用 Flow 处理集合

使用Broadway的数据摄入管道
  1. 1

    Broadway 库简介

  2. 2

    处理票务事件

  3. 3

    配置 Broadway 流水线与回调函数

  4. 4

    实现 handle_message/3

  5. 5

    实现 prepare_messages/2

  6. 6

    实现 handle_failed/2

  7. 7

    批量消息

  8. 8

    实现批处理并处理 handle_batch/4 函数

  9. 9

    静态合批

  10. 10

    使用动态批处理

  11. 11

    调整批处理大小和超时时间

  12. 12

    使用 GenStage 生产者

  13. 13

    配置爬取管道

  14. 14

    总结

  15. 15

    测验:使用Broadway的数据摄入管道

课程总结
  1. 1

    课程概要

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)