写点什么

雅虎开源发布 / 订阅消息平台 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:004675

评论

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

火速收藏!HUAWEI神级 SpringBoot 进阶笔记,竟一夜上到Github榜一

Geek_0c76c3

Java 数据库 开源 程序员 架构

中秋发祝福?一套程序让你成为【相亲相爱一家人】群里最靓的仔

梦想橡皮擦

Python 9月月更

Vue入门指北——渲染函数和jsx

Augus

Vue 9月月更

Vue3入门指北(一)组件API风格

Augus

Vue 9月月更

从0到1上手阿里云服务器ECS(一)

六月的雨在InfoQ

云服务器 ECS 9月月更 LAMP 部署Mysql

Hackathon idea 清单出炉,总有一款适合你

PingCAP

TiDB

Python 中的 super 函数怎么学,怎么解?

梦想橡皮擦

Python 9月月更

【软通动力鸿湖万联扬帆系列“竞”开发板试用体验】折腾”竞“开发板

白晓明

OpenHarmony "竞"开发板体验

怎么样在应用中实现自助报表功能

石臻臻的杂货铺

报表

异地多活架构新突破:库存单元化部署技术思路揭秘

阿里技术

数据库 架构

因为K8s,阿鹏遇到了人生中第一次职业危机....

嘉为蓝鲸

#运维

Java SE 19 虚拟线程

钟奕礼

java;

大数据揭秘丨疫情影响下亚马逊女性夹克的逆袭之旅

前嗅大数据

大数据 数据分析 数据采集 跨境电商 亚马逊

一份react面试题总结

beifeng1996

前端 React

都 2022 年了,你真的会用 Python 的 pip 吗?

梦想橡皮擦

9月月更

5 行 Python 爬虫代码,就能采集每日资讯@_@

梦想橡皮擦

9月月更

本周三,全球C++大会8大主题、近40场专题演讲盛大开启,龙蜥2位技术专家参加

OpenAnolis小助手

工具链 ebpf 2022 龙蜥 C++及系统软件技术大会

有什么好用的低代码快速开发平台?

优秀

低代码开发平台

高性能数据访问中间件 OBProxy(五):一文讲透数据路由

OceanBase 数据库

10年经验hr亲授:刷完阿里P8架构师的RocketMQ核心手册,进大厂稳了

Geek_0c76c3

Java 数据库 开源 架构 开发

4步成功将三方库——speexdsp移植到OpenHarmony

OpenHarmony开发者

OpenHarmony

Python 几行代码实现一键抠图,收费应用 BYEBYE

梦想橡皮擦

9月月更

北京Java培训收费标准是什么

小谷哥

Vue入门指北——css中的js变量

Augus

Vue 9月月更

ESP32-C3 学习测试 蓝牙 篇(一、认识 ESP-IDF 的蓝牙框架、简单的了解蓝牙协议栈)

矜辰所致

蓝牙 ESP32-C3 9月月更 ESP-IDF

你看过字符画吗?用 Python 自己实现一个吧

梦想橡皮擦

9月月更

大数据培训和大学相关专业哪个更好

小谷哥

这篇文章教会我用 Python 读取 PDF 文件【收藏即会】

梦想橡皮擦

9月月更

前端培训学习有哪值得注意的呢?

小谷哥

java培训软件开发技术收费标准

小谷哥

基于 RocketMQ 的 MQTT 服务架构在小米的实践

阿里巴巴云原生

阿里云 RocketMQ 云原生 mqtt

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