阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

雅虎开源发布 / 订阅消息平台 Pulsar

  • 2016-09-12
  • 本文字数:952 字

    阅读完需:约 3 分钟

雅虎发布了其发布 - 订阅消息平台 Pulsar ,这个平台在他们内部已经用在了多项服务的生产环境之中。

按照雅虎的说法,Pulsar 是一个低延迟的发布/ 订阅消息系统,它可以进行水平扩展,跨多个主机和数据中心。雅虎从2015 年第二季度开始,就一直在邮件、财经、Gemini Ads、Sherpa(雅虎的分布式key-value 服务——译注)以及体育相关的功能中使用Pulsar。通过将其开源,他们希望Pulsar 能够与其他开源项目进行集成,从而促使它得到广泛的应用。雅虎已经将Pulsar 部署到了十个以上的数据中心中,在超过140 万主题(topic)的情况下,达到了每天1000 亿条消息,而平均的发布延迟时间在5 毫秒以内。Pulsar 能够保证消息的正常投递,并会为消息提供两个持久化副本、针对消息读者的自动化游标管理以及跨数据中心的复制。

我们可以搭建Pulsar 来提供消息即服务(messaging-as-a-service)功能,使其运行在一个集群或多个集群上,并且能够通过API 对其进行管理:添加/ 移除用户、添加计算和存储容量、核算和监控等等。客户端(包括生产者和消费者)都会作为租户(tenant),它们能够通过一个Java 库来访问这些功能。这个库会负责服务发现、消息投递以及其他相关的任务。

Pulsar 采用了 _ 主题 _ 的理念,将其作为消息生产者和消费者之间的媒介。生产者会采用同步或异步的方式将消息发送到主题上。消息可以进行批量处理或压缩(LZ4 和 ZLIB)。客户端通过订阅的方式来消费消息,处理过程可以进行排除(exclusive)、共享(round-robin)或故障恢复。

为了保证消息的投递,Pulsar 会通过 Apache BookKeeper ledger(指的是独立的 log——译注)将消息持久化到稳定的存储中。读取和写入会指向不同的物理磁盘,从而尽可能降低发布带来的延迟。雅虎确认如果采用 SSD 作为 bookie(指的是 Bookkeeper 的主机——译注) journal 设备的话,Pulsar“在保证两个副本和完全有序的情况下,能够保证第 99 个百分位(99 percentile)达到 5 毫秒”。

雅虎将来计划支持非持久化的消息,从而减少消息 broker 之间主题迁移的时间,目标是从现在的 10 秒降低到 1 秒以下,将消息发布的第 99.9 个百分位达到 5 毫秒以下(目前是第 99 个百分位),并且还要支持除了 Java 以外的其他客户端语言。

查看英文原文 Yahoo! Open Sources Pulsar, a Pub/Sub Messaging Platform

2016-09-12 19:004572

评论

发布
暂无评论
发现更多内容

智能运维(AIOps)系列之二:什么是人工智能

micklongen

人工智能 AIOPS 智能运维

介绍一款Hive数仓可视化神器、Dbeaver的配置和使用方法

白程序员的自习室

7月日更 Dbeaver 数仓工具 数据库客户端

不同阶段考证有哪些作用

耳东@Erdong

7月日更 考试

架构训练营第1期 模块一作业

高远

5G云计算齐发力,云电脑的春天到了吗?

脑极体

架构训练营 模块一作业

小卷儿

架构实战营模块1作业

技术是伙伴

非对称风险:你需要为行为结果负责吗?

石云升

读书笔记 风险 7月日更

模块一作业

MX

树莓派/PC实现实时摄像头数据共享(Python—picamera)

不脱发的程序猿

Python 树莓派 视频通信 picamera

微信业务架构和学生管理系统架构

tjudream

极客时间 架构实战营

[架构实战营一期]模块一作业

trymorewang

#架构实战营

模块一作业

Mr.He

架构实战营

架构实战营作业-模块1

袁小芬

架构实战营

架构实战营-模块一

Testcase

架构实战营

🏆(不要错过!)【CI/CD技术专题】「Jenkins实战系列」(2)Jenkins实现自动化部署+自动化合并其他分支

洛神灬殇

jenkins CI/CD 7月日更

GitHub标星90K+ 的算法小抄,全球排名 36,到底有多牛逼?

Java 程序员 架构 面试

草稿20210707

cc=o

架构实战营 草稿

架构训练营模块一作业

高铎

架构实战营

树莓派/PC实现实时摄像头数据共享—最优方法(搭建网络摄像头)

不脱发的程序猿

树莓派 网络摄像头 视频通信

架构训练营模块一作业

河马先生

架构实战营

模块一:

kk

#架构实战营

yidong

方白

数仓开发人员经常说的 ETL、ELT,又有什么区别

奔向架构师

大数据 数据架构 话题讨论 7月日更

模块一作业

乌黑の云

如何轻松启动Docker服务

DisonTangor

Docker

微信业务架构图 & 学生管理系统

gawaine

架构实战营

分析一下微信朋友圈的高性能复杂度

NewBranSTONE

架构实战营

使用perf解决JDK8U小版本升级后性能下降的问题

毕昇JDK社区

iOS如何提升,首先得知自己的处境!(欢迎评论留言)

程序员 编程之路 IT技能 iOS 知识体系

树莓派/PC实现实时摄像头数据共享(Python—OpenCV)

不脱发的程序猿

Python 树莓派 OpenCV 视频通信

雅虎开源发布/订阅消息平台Pulsar_Java_Abel Avram_InfoQ精选文章