31

小白初识 Apache Pulsar

 4 years ago
source link: https://mp.weixin.qq.com/s/OA1s0OCEQR5q8jZ-CFXSzw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

小白学技术系列又来了! 继 Hadoop 和云原生之后,这次我们来聊聊,分布式消息系统 ——Apache Pulsar。

FVvEJnr.jpg!web

Apache Pulsar是一个企业级的发布订阅(pub-sub)消 息系统,最初由Yahoo开发,并于2016年底开源,现在是Apache软件基金会的一个孵化器项目。

由于事先跟人讲好,要向不懂技术的人进行科普,竟至把自己难到了:如果不从抽象的概念入手,该怎么讲解比较好呢? 我想,或许通过日常生活的场景进行类比,会是不错的选择吧。

那么什么是消息系统呢? 医院中帮助病人找到对应诊室的分诊台; 公司、企业帮助访客登记的前台、传达室; 帮助用户接通电话移动供应商……似乎都可以理解为某种类型的消息系统,但它们与 Apache Pulsar 的情况似乎又不太相同,差别在哪里呢? 在Apache Pulsar中有个很重要的概念:订阅(Subscription)。

说到“订阅”,不禁让人联想到订阅报刊、杂志,我觉得,实在没有比用邮局打比方,更形象贴切的了——虽然,在互联网的冲击下,传统媒体越来越走向没落……

现在,让我们来回顾一下订阅报刊、杂志的过程:

zeiQbqQ.png!web

  1. 读者到邮局订阅报刊/杂志;

  2. 报社/杂志社在发刊后,将报刊/杂志配送到邮局;

  3. 邮局再根据订阅,将报刊/杂志配送到读者。

这是一个比较简单的个人订阅流程。 但实际情况,由于发行刊物的种类丰富、订阅读者的人数众多、读者订阅刊物的情况复杂(可能是1本或多本)、读者所在地区覆盖范围很广……可以想象,为了能够把订阅的刊物,无误地分发到读者手中,需要整个中国邮政系统来保证。

biIfamn.png!web

如果你觉得中国邮政系统已经让人眼花缭乱了,但你知道吗? 跟互联网产品的复杂度相比,这都还只能算是小Case。 为什么呢? 因为报刊种类再多,也是有数儿的; 而且从发行,到消费,通常是单方向的。 但是互联网产品呢,看看抖音吧:

每个用户都可以发布内容,也可以关注(即订阅)其他用户发布的内容,同时还可以被其他用户关注; 再加上互联网突破了地域限制,因此用户数量可观,这错综复杂的“订阅”编织成一个极其复杂的网络,是不是更加令人难以捉摸呢? 除了 巨大的业务压力,在互联网场景下,更加对实时性提出了更高的要求——你能想象自己订阅一个内容,要盯着进度条等两三天才能看到的那种,令人崩溃的心情吗?你看,这就是我们需要分布式消息系统Apache Pulsar的原因了。

让我们带着对邮政系统形成的初步印象,来一窥Pulsar:

2AJ7NbZ.png!web

很像对不对,比较一下术语:

邮局

Pulsar

说明

杂志社/报社

producer

向Pulsar发送数据的应用程序。

读者

consumer

从Pulsar读取数据的应用程序。

邮局

topic

Pulsar的核心资源,用于从producer到 consumer传输消息。

刊物

Message

producer发送至topic的内容,以及consumer从topic消费的内容。

中国邮政

namespace

一组topic的管理单位。

现在,你已经基本了解了Pulsar的基本概念和工作原理。

Pulsar从2015年开始部署到生产环境, 至今已运行多年,助 力Yahoo的主要应用,如Yahoo Mail、Yahoo Finance、Yahoo Sports、Flickr、Gemini广告平台和Yahoo分布式键值存储系统

最后,让我们再来简单领略下它的实际运行情况: 每天处理超过1000亿个消息; 支持着140万个主题; 整体的消息发布延迟小于5毫秒—— 想象一下,这会是怎样一个数字飞速跳动的繁忙场景啊

相关文章:

e6vqeeQ.jpg!web

睿齐

技术传播从 业者

品牌内容策划

自由摄影师

自由撰稿人

公众号:techcomm / htstory

微信号:bgrichi

邮箱:[email protected]

JrYFZzY.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK