作者:Irene

编辑:Irene

2019 年 6 月 22 日,蚂蚁金服在北京举办主题为“ 下一代计算”的 meetup。我司 CEO 郭斯杰受邀参加本次分享,发表“使用 Pulsar Functions 进行无服务器化的事件流计算”主题演讲。本篇为演讲内容导航,干货满满,欢迎查看!

郭斯杰

StreamNative 联合创始人、Apache Pulsar、Apache BookKeeper  Committer 和 PMC 成员

[Recap] Ray Forward Meetup - Ant Financial_flink

什么是  Apache Pulsar ?

Apache Pulsar 是灵活的发布-订阅消息系统(Flexible Pub/Sub messaging),采用分层分片架构(backed by durable log/stream storage)。郭斯杰从发布-订阅模型、多租户、灵活的消息系统、云构架等方面介绍了 Apache Pulsar 的功能和特性。

Pulsar 的数据处理方法:事件流处理

[Recap] Ray Forward Meetup - Ant Financial_spark_02

上图是 Apache Pulsar 的 MSP (消息-处理-流存储)模型

消息:

  • 多语言客户端
  • Pulsar IO
  • CDC

流存储:

  • 云原生存储
  • 低延迟存储

处理:

  • 交互式查询
  • 流处理&批处理

Pulsar 的差异化亮点

编程模型

1.Pulsar Functions

在 Pulsar 2.0里引入 Pulsar Functions。它是处理数据的一个通用的无服务器化的事件流架构,是轻量化计算引擎。基于 event-first & stream-first 逻辑。如下图所示, Pulsar Functions 能够支持很多语言,不需要有 SDK。

[Recap] Ray Forward Meetup - Ant Financial_html_03

2. Function Context

  • Logger
  • State
  • Metrics
  • Security / Secrets

3. 灵活的运行时

  • 与  Broker 同步进行 
  • 部署 Managed Function Workers
  • 与外部调度程序(目前支持 Kubernetes )交互 

4. 事件路由

5. 自动负载均衡

6. 与 pulsar-admin CLI 融合

架构

[Recap] Ray Forward Meetup - Ant Financial_css_04

1. 以 Stream-First 为处理原则

2. 不依赖外部系统,最大化利用自身架构

3. 主要构成:

  • Function Metadata Topic
  • Function Worker membership and coordination
  • Function Assignment

使用案例

1. 内容路由(content routing)

2. 消息过滤(message filtering)

3. 转换(transformation)

4. 报警和阈值(alert and thresholds)

5. 复杂事件处理管道(complex event processing pipelines)

总结

Pulsar Functions 是 Pulsar 内无服务器化的事件流计算的一种方式,使用灵活,简单易用。以 Event-first & Stream-first 为原则,兼顾有状态和无状态。运行时间灵活,良好的数据局部性,可进行复杂数据处理。

演讲 PPT,请参阅:

https://www.slidestalk.com/s/ServerlessEventStreamingwithPulsarFunctions

视频回顾(03:08:30开始):

https://tech.antfin.com/community/activities/698/live

福利推荐

Apache Pulsar 是下一代云原生分布式流数据平台,它源于 Yahoo,2016 年 12 月开源,2018 年 9 月正式成为 Apache 顶级项目,逐渐从单一的消息系统演化成集消息、存储和函数式轻量化计算的流数据平台。在 Apache Pulsar 快速发展的过程中,社区的伙伴们也致力于硅谷以外的布道之旅,在中国社区开始了不平凡的历程。6 月 29 日,来自腾讯和 Pulsar 社区的开源爱好者们将齐聚一堂,共同探讨 Pulsar 最新动态,包括:  

   1. Apache Pulsar 发展历史和用户案例。

   2. Apache Pulsar 2.4.0 新功能。

   3. Flink 在腾讯的实践,Flink 和 Pulsar 的集成应用。

   4. Pulsar 和 Spark 批流融合的数据存储和分析平台。

   5. Pulsar IO 运行原理与周边生态。

   6. Go Functions 的设计与实现。

[Recap] Ray Forward Meetup - Ant Financial_spark_05