购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

Pulsar成功案例

到目前为止,本章已经详细讨论了开发 Apache Pulsar 的背景与缘由,也介绍了Pulsar的生态和 Pulsar 成为开源项目时遇到的独特挑战。那么,Pulsar 能解决公司现今遇到的问题吗?像 Pulsar 这种在雅虎私有云中开发的平台适合使用公有云的公司吗?当团队评估 Pulsar 能否满足它们对消息平台的需求时,这些都是一定会被考虑的问题。我们会在本节介绍3家选择 Pulsar 并在生产中成功使用 Pulsar 的公司,这些成功案例结合一些团队在评估 Pulsar时想得到解答的突出业务问题,阐述了各个公司的工程师团队转向Pulsar的原因和他们使用Pulsar的方式。

雅虎日本

2017年,雅虎日本每月处理近700亿次的页面浏览量,它面临着服务器负载管理,以及在其服务导向的架构中编排数百个服务的双重挑战。除了需要解决大规模服务运营的挑战,雅虎日本还希望把整个架构分布在不同的地区(跨地域复制)。为了解决这些问题,雅虎日本企图寻找合适的消息系统。雅虎根据公司的工作流需求评估了Apache Pulsar和Apache Kafka,并于2019年将调研结果发表在博客中(参见链接6)。

文章的作者详细阐述了 Pulsar 和 Kafka 之间的关键区别,以及雅虎日本最终选择 Pulsar运行负载的原因。影响它们决定的三个重要特性是:

·跨地域复制

·可靠性

·灵活性

虽然 Pulsar 和 Kafka 在可靠性上相差不多,但 Pulsar 的跨地域复制及灵活性优势非常明显。雅虎日本在做调研时基本没有关于跨数据中心部署 Kafka 的资料,相比之下,Pulsar 的跨地域复制能力在社区中广为人知(如本章开头所述)。最终,雅虎日本选择了Pulsar,并在之后的多年中一直使用 Pulsar 来支持公司的服务。Pulsar 为雅虎日本以服务为导向的架构提供了引擎,通过其跨地域复制的功能为该公司减轻了很多负担。

Splunk

Splunk是一家致力于对日志和其他遥测数据的收集、聚合及搜索工作进行简化的公司(如图3-11所示)。有数百家提供企业级技术的公司使用Splunk来收集应用程序日志、监控应用程序,以及排查应用程序和基础架构中的问题。2019 年,Splunk 收购了 Streamlio,后者是首家提供Apache Pulsar服务托管的公司。在宣布收购的新闻稿(参见链接7)中,Splunk 指出 Apache Pulsar 是一项独特的技术,对公司具有变革性的意义。对于 Splunk这样的公司来说,不难想象 Pulsar 这样的技术可以被应用到公司的产品中。2020年,时任 Splunk 高级软件工程师的普冉纳·德哈马(Pranav Dharma)发表了题为《Splunk的任务管理服务如何利用 Pulsar 的多种订阅类型》 的演讲(参见链接8),内容围绕Splunk 如何使用 Pulsar 灵活的订阅模型支持公司的核心业务这一主题。Pulsar 灵活的订阅模型让 Splunk 基于应用程序的需求提供多种消息处理保证,我们将在第6章中更深入地介绍订阅模式。

2020 年,Splunk 软件开发总监、Streamlio 联合创始人卡西克·拉马萨米(Karthik Ra-masamy)发表了题为《为什么Splunk选择了Pulsar》 的演讲,详细介绍了Splunk是如何从Pulsar的跨地域复制、消息低延迟传输及可扩展存储(基于Apache BookKeeper)中受益的。对 Splunk 来说,Pulsar 是一笔重要的投资,但从各方面的反馈来看,这笔投资是值得的。Splunk借助Pulsar的高性能快速做决策,并依靠Pulsar灵活的订阅模式提供了能处理所有消息需求的统一平台。

图3-11 应用程序和数据库将产生的日志和指标转发给 Splunk,Splunk 会为它们建立索引并使其可搜索

Iterable

Iterable是一个客户互动平台,旨在让客户生命周期营销、推荐系统及跨渠道互动变得更为简单。为了在数千个客户中扩展业务,Iterable 需要一个可以作为公司软件交互基础的消息平台。起初 Iterable 使用 RabbitMQ,但随后遇到了系统的限制,于是开始评估其他能满足公司消息收发需求的系统。在《Apache Pulsar 如何帮助 Iterable 扩展客户互动平台》 (参见链接9)一文中,作者格雷格·迈斯文(Greg Methvin)提到了Iterable期望新的消息系统能解决的问题,他和他的团队关注的三个关键特性是:

可扩展性

Iterable需要一个能根据用户需求扩展的系统。

可靠性

Iterable需要一个能可靠地存储消息数据的系统。

灵活性

Iterable需要一个能满足公司所有消息收发需求的系统。

Iterable 评估了包括 Apache Kafka、Amazon Simple Queue Service(SQS)及 Amazon Kinesis 在内的消息系统,在评估过程中,Pulsar 是唯一能同时满足 Iterable 所需语义及可扩展性需求的系统。Iterable 需要消息平台能同时支持队列和流式消息场景,虽然Kinesis 和 Kafka 提供了一些方式来支持这类场景,但 Pulsar 的优雅和通用性还是更胜一筹。此外,Pulsar 存算分离的架构也为 Iterable 独立扩展主题的需求提供了灵活度和正确的语义。

通过选择 Pulsar 作为架构中的事件平台基石,Iterable 能够继续扩展服务并满足新增长的客户需求。 fNcZVr2bBVh/mnRlPfHJ8OHKsdAYxao2Fta/D8M2ZkPBLUNMJOIkSG7wKanloqRo

点击中间区域
呼出菜单
上一章
目录
下一章
×