写点什么

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

评论

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

俯瞰Dubbo全局,阅读源码前必须掌握这些!!

冰河

架构 分布式 微服务 dubbo 服务治理

LeetCode题解:111. 二叉树的最小深度,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

开始的开始-可能是最早提交的28天写作活动作品

石君

28天写作

VUE项目性能优化实践——通过懒加载提升页面响应速度

葡萄城技术团队

Vue

甲方日常 81

句子

随笔杂谈

一次系统调用时间过长追踪完整教程案例

AI乔治

Java Linux 架构

数据中心“容灾”和“备份”的区别

还在手动写数据库文档吗?试试这个工具,划水干活儿两不误!

我爱娃哈哈😍

数据库 文档生成

CSS08 - CSS特性

Mr.Cactus

html/css

CSS09 - 文本&背景属性

Mr.Cactus

html/css

ETL都没弄懂,谈什么大数据 ?我用一分钟给你整明白

智分析

ETL

CSS07 - 伪类

Mr.Cactus

html/css

不愧是Alibaba技术官:程序员必会的架构知识清单,如何让你技术上的提升面试时的丰收

Java架构之路

Java 程序员 架构 面试 编程语言

【CSS】CSS对大小写敏感吗?

德育处主任

28天写作

如何使用Eclipse内存分析工具定位内存泄露

Java老k

Java 内存泄露

一个正确的编程思维

程序员吴师兄

28天写作

文档驱动开发模式在 AIMS 中的应用与实践

华为云开发者联盟

Web 代码 API 文档

volatile 关键字精讲

伯阳

Java volatile 后端 关键字 多线程与高并发

在onelogin中使用OpenId Connect Implicit Flow

程序那些事

权限系统 程序那些事 openid 权限架构 onelogin

甲方日常 82

句子

随笔杂谈

如果你听说过 Elastic Certified Engineer

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

从七日更,到28天写作挑战,我无法拒绝的原因

梁龙先森

大前端 编程语言 28天写作

Spark HistoryServer日志解析&清理异常

kwang

大数据 spark hdfs

如何使用Eclipse内存分析工具定位内存泄露

AI乔治

Java eclipse 架构

【Mysql-InnoDB系列】InnoDB架构

程序员架构进阶

MySQL 架构 innodb 28天写作

CSS06 - 标签的显示模式与转换

Mr.Cactus

html/css

要想软件“一想之美”,UI测试少不了

华为云开发者联盟

软件 测试 华为云

边缘计算安全技术研究

华为云原生团队

云计算 大数据 云原生 边缘计算 华为云

代码也能“杀”虫:此虫,真虫非Bug也

华为云开发者联盟

代码 华为云 modelarts

数据库表数据量大读写缓慢如何优化(1)【冷热分离】

我爱娃哈哈😍

大数据 架构 海量数据库的设计与实践 优化 数据库优化

杜绝标题党,好的标题是成功的99%

xcbeyond

方法论 28天写作 写作技巧

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