专栏首页暴走大数据Apache Pulsar崛起 | Meetup北京站全解析

Apache Pulsar崛起 | Meetup北京站全解析

By 大数据技术与架构

场景描述:2019 年 7 月,Apache Pulsar 正式发布了 2.4.0 版本,在 2.3.2 版本的基础上新增了诸多功能并修复了大量漏洞,包括存储端、Broker 端、Schema、安全、客户端、Pulsar Functions、Pulsar IO、Pulsar Kafka、Pulsar Flink 和 Pulsar Storm 等多方面。

关键词:Pulsar Meetup

2019年9月份 Apache Pulsar Meetup北京站已经落下帷幕了。来自腾讯、智联、阿里的工程师分享了pulsar在各自工程中的应用。

Apache Pulsar 开始慢慢进入大家视野。我个人出于爱好,整理了本次大会的一些特别值得我们关注的内容。方便大家学习。

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

该篇演讲由来自腾讯的刘德志提供。

腾讯的计费场景如下:

腾讯计费系统对分布式消息队列的要求如下:

  • 一致性要求:计费场景要求数据一条不能丢,这是最基本的诉求。
  • 高可用要求:需具备容灾能力,在异常情况下能够自动修复。
  • 海量存储需求:在移动互联网时代,产生大量的交易数据,需要具备海量堆积能力。
  • 快速响应要求:在亿级支付场景下,要求 MQ 能提供平滑的响应时间,尽可能控制在 10ms 内。

针对自己的业务场景,腾讯对Pulsar做了四个方面的优化:

  • 支持延迟消息和定时重试(2.4.0 支持)。
  • 支持二级 Tag。
  • 完善控制台,支持消息查询和消费追踪。
  • 完善的监控和告警体系。

整体架构如下:

  • Broker 作为消息队列代理层,负责消息的生产和消费请求,支持水平扩展,根据负载按 Topic 自动进行均衡。
  • BookKeeper 作为消息队列的分布式存储中心,可配置多个消息副本,在异常情况下具备 Failover 能力。
  • ZooKeeper 作为消息队列的元数据和集群配置中心。
  • 支持多种消费模式,其中 Shared 模式下的消费者突破对分区个数的依赖, function 模式非常适合简单的交易流水清洗场景。
  • 提供了统一的 HTTP proxy 接入能力,方便其它语言接入。
  • 腾讯计费还有部分业务是 JS 和 PHP 等语言,提供了统一的 HTTP proxy 接入能力,并对客户端加上生产失败重试能力,提升生产成功率。集群出现异常时,客户端会做降级处理,将消息发送至本地或发送至容灾集群。

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

该篇演讲作者:Rocky Jin,产品总监,杭州映云科技有限公司 EMQ X 产品负责人。

ActorCloud选择Pulsar的原因包括:

  • 高可用、高扩展性、部署简单、易运维。
  • 高吞吐:单个分区高达 1.8 M 消息/秒,这一特点完全符合我们数据量大的需求。
  • Pulsar Functions 是一个轻量化的计算平台,能从一个或多个 Pulsar 主题中消费消息,把用户提供的处理逻辑应用于每个消息,把计算结果发布到另一个主题。Pulsar Functions 支持 Thread、Process、Kubernetes 等运行时,这为我们编写、运行和部署 Functions 提供了很好的灵活性,所以我们只用关心计算逻辑,无需处理复杂的配置或管理,更便捷地构建基于消息触发的流平台。
  • 存储计算分离,IO 隔离,能够灵活处理数据,处理和存储可以独立扩展。

ActorCloud 把基于 SQL 的业务规则通过 API 的方式传入到数据处理规则管理引擎中,并将这些业务规则翻译为 Pulsar 中对应的 Source、Functions 和 Sink。Pulsar 的 Source 通过共享订阅的方式对接入 EMQ X Broker 设备数据进行消费,Pulsar 将这些数据进行持久化 ,并通过扩展 Pulsar 的 Functions 来对消息进行实时处理,处理完后通过 Sinks 将数据发送到相关的外部系统中。

ActorCloud 利用Pulsar Functions 支持 Thread、Process、Kubernetes 的特性,为编写、运行和部署 Functions 提供了很好的灵活性,所以在 ActorCloud 物联网平台上,只需关注计算逻辑,无需处理复杂的配置或管理,就能更加便捷地构建基于消息触发的流平台。

我们看一个案例:

Apache Pulsar 在雅虎日本用户案例

本文作者:Nozomi Kurihara 雅虎日本消息平台团队经理

雅虎日本选择Pulsar的主要原因如下:

  • 可扩展性
  • 多租户支持
  • 异地备份

雅虎日本使用Pulsar的架构如下:

雅虎日本在生产中的应用案例:

  • 内容更新通知
  • 邮箱服务队列
  • 日志收集
  • 日志过滤收集

本文分享自微信公众号 - 大数据真好玩(havefun_bigdata),作者:wangzhiwu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 最火的实时计算框架Flink和下一代分布式消息队列Pulsar的批流融合

    Apache Flink 和 Apache Pulsar 的开源数据技术框架可以以不同的方式融合,来提供大规模弹性数据处理。Flink Forward San ...

    大数据真好玩
  • Flink源码阅读之Checkpoint执行过程

    对应Flink来说checkpoint的作用及重要性就不细说了,前面文章写过checkpoint的详细过程和checkpoint周期性触发过程。本篇我们在一起根...

    大数据真好玩
  • Mysql的SQL性能优化指北

    在一次和技术大佬的聊天中被问到,平时我是怎么做Mysql的优化的?在这个问题上我只回答出了几点,感觉回答的不够完美,所以我打算整理一次SQL的优化问题。

    大数据真好玩
  • 消息传输的设计方式(上)

    写在前面 这几天拜读了郭斯杰的《Messaging,Storage,or both?》一文,原文地址在这里,大有感触,作者分享了自己过去几年时间里在工作中使用A...

    企鹅号小编
  • Apache Pulsar 2.3 重磅发布,新特性独家解读

    “Apache Pulsar 2.3.0 重磅发布!最新版本包含支持在Kubernetes中执行Pulsar Functions,基于JSON Web Toke...

    林一
  • Kafka 已落伍,转角遇见 Pulsar!

    自 LinkedIn 2011 年创建了 Apache Kafka 后,这款消息系统一度成为大规模消息系统的唯一选择。为什么呢?因为这些消息系统每天需要传递数百...

    大数据技术与架构
  • Flink未来-将与 Pulsar集成提供大规模的弹性数据处理

    问题导读 1.什么是Pulsar? 2.Pulsar都有哪些概念? 3.Pulsar有什么特点? 4.Flink未来如何与Pulsar整合? Apache ...

    用户1410343
  • Flink1.9新特性解读:通过Flink SQL查询Pulsar

    问题导读 1.Pulsar是什么组件? 2.Pulsar作为Flink Catalog,有哪些好处? 3.Flink是否直接使用Pulsar原始模式? 4.Fl...

    用户1410343
  • Hadoop基础教程-第13章 源码编译(13.1 Zookeeper源码编译)

    第13章 源码编译 13.1 Zookeeper源码编译 13.1.1 安装Ant 注意,不要下载最新版,下载指定版本 http://archive.apa...

    程裕强
  • open-falcon环境准备

    下载rpm包:https://dev.mysql.com/downloads/repo/yum/

    dogfei

扫码关注云+社区

领取腾讯云代金券