[Recap] Apache Pulsar Meetup | 北京站_Apache

 

阅读本文需要约  8 分钟。

 

2019 年 8 月 17 日, Apache Pulsar 开启中国之旅第五站,在北京成功举办了为期一天的 Apache Pulsar Meetup。本次分享的主要内容为:

 

  • Nozomi Kurihara:Apache Pulsar at Yahoo! Japan

  • 翟佳:Kafka on Pulsar (KoP)

  • 李鹏辉/丛搏:智联招聘如何参与社区开发以及 Key_Shared 等近期贡献特性详解

  • 刘德志:Apache Pulsar 在腾讯计费场景下的实践

  • 郭斯杰/张勇:Pulsar 2.5.0 事务功能预览

  • 金发华:Apache Pulsar 在 EMQ 物联网平台产品 ActorCloud 上的应用

  • 唐云:监控流系统中的 Flink 状态管理

  • 申毅杰:Apache Pulsar 和与大数据生态的集成与实践

 

Pulsar 技术爱好者们参与了此次干货满满的分享,进行了热烈的讨论。开场演讲中郭斯杰为我们介绍了 Pulsar 的发展历史、强大的特性、快速的迭代进程、用户案例、Pulsar adpoter 和 Pulsar meetup 等,为本次大会拉开了序幕。以下是本次北京 meetup 内容导航。

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

Apache Pulsar 在雅虎日本用户案例

 

Nozomi Kurihara

雅虎日本消息平台团队经理

Apache Pulsar PMC Member and Committer

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_03

 

摘要:Apache Pulsar 是一个快速、持久、可扩展的发布-订阅消息系统,具备多种强大的功能,例如,跨地域复制、多租户和 Pulsar Functions 等。多年来,雅虎日本一直使用 Apache Pulsar,Pulsar 也表现出了优秀的稳定性。雅虎日本使用 Pulsar,每秒生成和消费 170+ 多租户(auction、shopping、maps 和 mail 等等)、4000+  topic、50000+ 条消息。

 

本次讲座 Nozomi Kurihara 介绍了四个 Apache Pulsar 在雅虎日本的用户案例,包括日志管道、内容更新通知、工作队列和从 Kafka 到 Pulsar 的转换。在未来规划方面,Nozomi Kurihara 介绍了雅虎日本目前已开源的项目(Pulsar node.js client)和即将开源的项目(Apache Pulsar UI Admin)。

 

另外,StreamNative 研发并即将开源基于网页的 GUI 管理和监控工具——Apache Pulsar Manager,帮助用户管理和监控 Tenant、Namespace、Topic、Subscription、Broker 和 Cluster 等,并支持动态配置多种环境。

 

Meetup 结束后,StreamNative 与雅虎日本进行了深入的技术交流和充分的探讨,共同决定合并各自开发的 Pulsar 管理工具(Apache Pulsar Manager 和 Apache Pulsar UI Admin),并将在未来开源。这标志着 StreamNative 引领了 Pulsar 社区国际化合作共赢的新方向,并在推动 Pulsar 社区全球化发展的道路上又向前迈进了一大步。

 

演讲概要如下:

  • 什么是 Apache Pulsar

  • 雅虎日本选择 Pulsar 的原因

  • 雅虎日本使用 Pulsar 的案例

  • 未来规划

 

点击了解详情:

雅虎日本如何用 Pulsar 构建日均千亿的消息平台

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

Kafka on Pulsar (KoP)

 

翟佳

Apache Pulsar/BookKeeper PMC Member

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_05

 

摘要:翟佳介绍了 KoP(Kafka on Pulsar)的架构与实施情况,此外还进行了 demo 。

 

KoP 是 StreamNative  的一大创新和尝试。KoP 在 Pulsar 上原生支持 Kafka 协议,即用户可以使用 Pulsar 作为底层基础设施,而无需修改基于 Kafka 的各种应用和服务。StreamNative 通过 KoP 帮助用户不受应用迁移和重写所困扰,高效便捷地帮助用户解决了痛点问题,并开创性地连接了 Pulsar 和 Kafka 两大开源社区。StreamNative 秉承“开源、开放”的理念,积极促进多方开源社区的繁荣与发展。

 

演讲概要如下:

  • 什么是 Apache Pulsar

  • 处理消息面临的问题

  • Pulsar 如何解决问题

  • Kafka on Pulsar (KoP)介绍

  • Kafka on Pulsar (KoP)的实施

  • Kafka on Pulsar (KoP)的 demo 演示

  • Kafka on Pulsar (KoP)的最新进展

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

智联招聘如何参与社区开发以及 Key_Shared 等近期贡献特性详解

 

李鹏辉

智联招聘消息系统负责人

Apache Pulsar Committer

丛搏

智联招聘研发工程师

Apache Pulsar Contributor

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_07

 

摘要:从智联招聘开始调研 Apache Pulsar 至今已经有一年,在这一年中,Apache Pulsar 为智联提供了稳定的消息系统服务,承载了日均百亿级别的消息量。智联招聘积极参与 Pulsar 社区讨论及开发,贡献了多个新特性。

 

演讲概要如下:

  • 智联招聘为 Pulsar 贡献的特性及其使用和实现原理 

  • Key_Shared 订阅模式

  • Pulsar 2.4.0 版本发布

  • 多版本 Pulsar Schema 

  • HDFS Offloader

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

Apache Pulsar 在腾讯计费场景下的实践

 

刘德志

腾讯后台开发高级工程师

TEG 技术工程事业群和计费系统开发者

 

摘要:围绕腾讯计费业务介绍 Pulsar 典型的应用场景,以及在实际业务中遇到的问题和解决方案。

 

刘德志首先介绍了腾讯计费核心痛点及 MQ 在计费场景的应用,接着说明了选择 Apache Pulsar 的原因,包括一致性要求(一条不能丢)、高可用要求(异常情况自动修复)、海量存储需求(海量堆积能力)、快速响应要求(平滑响应时间)。最后说明了 Pulsar 在腾讯计费平台的具体使用情况和结果。Pulsar 稳定提供的高一致、高可用的消息通道能力,助力计费交易引擎稳定高效运转。目前,Pulsar 已在腾讯计费大规模使用,经受住了业务洪峰的压力和交易一致性的考验,达到了 5 个 9 的高可用率。

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_09

 

演讲概要如下:

  • 腾讯计费平台简介

  • 核心问题

  • MQ 在计费场景的应用

  • 为什么选择 Pulsar

  • Pulsar 在腾讯计费的整体架构

  • Pulsar 在腾讯计费的运营情况

  • 腾讯计费合作领域

 

点击了解详情:

Apache Pulsar 在腾讯计费场景下的应用

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

Pulsar 2.5.0 事务功能预览

 

郭斯杰

StreamNative 创始人及 CEO

Apache Pulsar/BookKeeper PMC Member

张勇

Apache Pulsar/BookKeeper Contributor

开源爱好者

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_11

 

摘要:目前 Pulsar 通过 Idempotent Producer 支持在单个 partition 中的 exactly-once 语义。Idempotent Producer 保证 Producer 发送的消息在不丢失的情况下仅会被持久化一次。但是,当 Producer 发送消息到多个 partition 时,不能保证消息发送的原子性。同样,Pulsar Functions 在处理多个事件或者输出一组结果到不同 topic partition 时,不能保证计算的原子性。PIP-31 通过增加对事务的支持来解决上述场景面临的问题。

 

本次演讲,郭斯杰和张勇详细解析 Pulsar 2.5.0 版本中支持的事务功能。

 

演讲概要如下:

  • Pulsar 现有消息语义

  • 引入 Transaction

  • 解释 Pulsar Transaction

  • Transaction 执行流程

  • Transaction Roadmap

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

Apache Pulsar 在 EMQ 物联网平台产品 ActorCloud 上的应用

 

Frank Wang

EMQ X 解决方案总监

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_13

 

摘要:ActorCloud 是一个开源的物联网平台,集成了设备多协议接入、基于 SQL 的轻量级流式物联网数据处理、可扩展的数据持久化等功能,并且向上提供了基本的设备管理 API 和参考 UI 实现。本次演讲介绍了 ActorCloud 如何利用 Pulsar 的功能特性实现物联网平台功能需求。

 

演讲中,Frank Wang 介绍了ActorCloud 使用 Apache Pulsar 的原因,其中包括 Pulsar Function 提供了基础 Window 支持、Pulsar 提供了对 Function 进行增删改查的 API、灵活的订阅模式(无状态 Function 采用共享订阅,可无限扩展消费能力)和存储与计算分离(存储可设置 Retain 时间、实时数据和历史数据可通过 Presto SQL 查询,方便离线分析)

 

演讲概要如下:

  • EMQ 简介

  • ActorCloud 整体功能

  • ActorCloud 物联网融合平台

  • 选择 Pulsar 的原因

  • ActorCloud 基于 Pulsar 数据处理架构

  • 基于 Pulsar Functions 的 SQL 规则处理过程

  • ActorCloud 数据处理样例

 

点击了解详情:

Apache Pulsar 在 EMQ 物联网平台产品 ActorCloud 上的应用

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

监控流系统中的 Flink 状态管理

唐云

阿里巴巴高级开发工程师

阿里巴巴实时计算事业部 Flink 核心引擎开发者

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_15

 

摘要:本次演讲涵盖从监控流系统应用到 Flink 的状态管理和容错机制(State & Checkpoint)。唐老师详细介绍了 Flink State、Checkpoint 及其使用方法。在介绍这些概念的同时,唐老师剖析了相关原理,并详细解读了 Flink State & Checkpoint 在功能和易用性增强方面的工作进展。

 

演讲概要如下:

  • 如何在 Flink State 下使用 Flink 监控系统

  • Flink State 功能

  • 什么是 Flink State

  • Flink 的容错机制 

  • 未来规划

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_02

Pulsar 与大数据生态的集成与实践

 

申毅杰

Apache Pulsar/Spark Contributor

开源爱好者

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_17

 

摘要:与传统消息队列(例如,RabbitMQ)和实时数据管道(例如,Apache Kafka)相比,Pulsar 的存储分层架构、以 Segment 为中心的分片存储、Tiered Storage 和对 Schema 的原生支持等诸多优秀设计使其可以一站式解决实时数据存储的需求。同时,Apache Pulsar 与当前大数据分析引擎(例如,Apache Spark 和 Apache Flink的批流融合趋势一致。

 

本次演讲,申毅杰详细分析了 Apache Pulsar 和诸多大数据分析平台的集成实践,分享 Pulsar 与 Apache Spark、Apache Flink、 Apache Hive 和 Presto 的集成模式和最新进展。

 

演讲概要如下:

  • 针对与大数据框架的集成,Pulsar 有以下优势:消息持久化且保序(易于从故障中恢复)、高吞吐低延迟(满足流式和交互式的查询场景)以及扩展性好(很容易按需增长集群规模)。

  • 对 Pulsar 中消息的消费可以从两个层次完成:基于 Reader 的消费(目前 pulsar-spark和pulsar-flink 的做法)和基于 Segment 的消费(目前 Presto 的做法),用户可以按并行度和处理速度的需求进行数据分析。

  • 在与大数据框架的集成过程中,Pulsar 被当做一张有结构的表,利用 Pulsar Schema 的信息,将消息反序列化成框架对应的 Record 表示。

  • 基于消息有序且持久化的特性,同时借助一个在 Spark/Flink commit callback 时移动的 Subscription 保证了 pulsar-spark / pulsar-flink source 的 exactly-once 语义。

  • 对于流处理应用,主题、分区会在流处理过程中动态改变,pulsar-spark 在两次 Microbatch 之间发现变化,而 pulsar-flink 为每个 source task 启动一个阶段性执行的监控线程。

 

 

作者 | Irene

审校 | Anonymitaet+Sijie

编辑 | Irene

 

[Recap] Apache Pulsar Meetup | 北京站_Apache_18