作者:Irene
编辑:Irene
2019 年 6 月 22 日,蚂蚁金服在北京举办主题为“ 下一代计算”的 meetup。我司 CEO 郭斯杰受邀参加本次分享,发表“使用 Pulsar Functions 进行无服务器化的事件流计算”主题演讲。本篇为演讲内容导航,干货满满,欢迎查看!
郭斯杰
StreamNative 联合创始人、Apache Pulsar、Apache BookKeeper Committer 和 PMC 成员
什么是 Apache Pulsar ?
Apache Pulsar 是灵活的发布-订阅消息系统(Flexible Pub/Sub messaging),采用分层分片架构(backed by durable log/stream storage)。郭斯杰从发布-订阅模型、多租户、灵活的消息系统、云构架等方面介绍了 Apache Pulsar 的功能和特性。
Pulsar 的数据处理方法:事件流处理
上图是 Apache Pulsar 的 MSP (消息-处理-流存储)模型
消息:
-
多语言客户端
-
Pulsar IO
-
CDC
流存储:
-
云原生存储
-
低延迟存储
处理:
-
交互式查询
-
流处理&批处理
Pulsar 的差异化亮点
编程模型
1.Pulsar Functions
在 Pulsar 2.0里引入 Pulsar Functions。它是处理数据的一个通用的无服务器化的事件流架构,是轻量化计算引擎。基于 event-first & stream-first 逻辑。如下图所示, Pulsar Functions 能够支持很多语言,不需要有 SDK。
2. Function Context
-
Logger
-
State
-
Metrics
-
Security / Secrets
3. 灵活的运行时
-
与 Broker 同步进行
-
部署 Managed Function Workers
-
与外部调度程序(目前支持 Kubernetes )交互
4. 事件路由
5. 自动负载均衡
6. 与 pulsar-admin CLI 融合
架构
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开始):
网友评论