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

来源:大数据技术与架构

640?wx_fmt=jpeg

点击右侧关注,大数据开发领域最强公众号!
640?wx_fmt=jpeg

640?wx_fmt=png

点击右侧关注,暴走大数据!
640?wx_fmt=png



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 在腾讯计费场景下的实践

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

腾讯的计费场景如下:


640?wx_fmt=png

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

  • 一致性要求:计费场景要求数据一条不能丢,这是最基本的诉求。

  • 高可用要求:需具备容灾能力,在异常情况下能够自动修复。

  • 海量存储需求:在移动互联网时代,产生大量的交易数据,需要具备海量堆积能力。

  • 快速响应要求:在亿级支付场景下,要求 MQ 能提供平滑的响应时间,尽可能控制在 10ms 内。


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


  • 支持延迟消息和定时重试(2.4.0 支持)。

  • 支持二级 Tag。

  • 完善控制台,支持消息查询和消费追踪。

  • 完善的监控和告警体系。


整体架构如下:

640?wx_fmt=png

  • 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 隔离,能够灵活处理数据,处理和存储可以独立扩展。


640?wx_fmt=png

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

640?wx_fmt=png

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

我们看一个案例:

640?wx_fmt=png

 

Apache Pulsar 在雅虎日本用户案例


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

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

  • 可扩展性

  • 多租户支持

  • 异地备份

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

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

640?wx_fmt=png

640?wx_fmt=png

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

  • 内容更新通知

640?wx_fmt=png
  • 邮箱服务队列

640?wx_fmt=png
  • 日志收集

640?wx_fmt=png
  • 日志过滤收集

640?wx_fmt=png

欢迎点赞+收藏+转发朋友圈素质三连

640?wx_fmt=jpeg640?wx_fmt=jpeg

文章不错?点个【在看】吧! ?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王知无(import_bigdata)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值