小白学技术系列又来了! 继 Hadoop 和云原生之后,这次我们来聊聊,分布式消息系统 ——Apache Pulsar。
Apache Pulsar是一个企业级的发布订阅(pub-sub)消 息系统,最初由Yahoo开发,并于2016年底开源,现在是Apache软件基金会的一个孵化器项目。
由于事先跟人讲好,要向不懂技术的人进行科普,竟至把自己难到了:如果不从抽象的概念入手,该怎么讲解比较好呢? 我想,或许通过日常生活的场景进行类比,会是不错的选择吧。
那么什么是消息系统呢? 医院中帮助病人找到对应诊室的分诊台; 公司、企业帮助访客登记的前台、传达室; 帮助用户接通电话移动供应商……似乎都可以理解为某种类型的消息系统,但它们与 Apache Pulsar 的情况似乎又不太相同,差别在哪里呢? 在Apache Pulsar中有个很重要的概念:订阅(Subscription)。
说到“订阅”,不禁让人联想到订阅报刊、杂志,我觉得,实在没有比用邮局打比方,更形象贴切的了——虽然,在互联网的冲击下,传统媒体越来越走向没落……
现在,让我们来回顾一下订阅报刊、杂志的过程:
-
读者到邮局订阅报刊/杂志;
-
报社/杂志社在发刊后,将报刊/杂志配送到邮局;
-
邮局再根据订阅,将报刊/杂志配送到读者。
这是一个比较简单的个人订阅流程。 但实际情况,由于发行刊物的种类丰富、订阅读者的人数众多、读者订阅刊物的情况复杂(可能是1本或多本)、读者所在地区覆盖范围很广……可以想象,为了能够把订阅的刊物,无误地分发到读者手中,需要整个中国邮政系统来保证。
如果你觉得中国邮政系统已经让人眼花缭乱了,但你知道吗? 跟互联网产品的复杂度相比,这都还只能算是小Case。 为什么呢? 因为报刊种类再多,也是有数儿的; 而且从发行,到消费,通常是单方向的。 但是互联网产品呢,看看抖音吧:
每个用户都可以发布内容,也可以关注(即订阅)其他用户发布的内容,同时还可以被其他用户关注; 再加上互联网突破了地域限制,因此用户数量可观,这错综复杂的“订阅”编织成一个极其复杂的网络,是不是更加令人难以捉摸呢? 除了 巨大的业务压力,在互联网场景下,更加对实时性提出了更高的要求——你能想象自己订阅一个内容,要盯着进度条等两三天才能看到的那种,令人崩溃的心情吗?你看,这就是我们需要分布式消息系统Apache Pulsar的原因了。
让我们带着对邮政系统形成的初步印象,来一窥Pulsar:
很像对不对,比较一下术语:
邮局 |
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毫秒—— 想象一下,这会是怎样一个数字飞速跳动的繁忙场景啊 。
相关文章:
睿齐
技术传播从 业者
品牌内容策划
产 自由摄影师
自由撰稿人
公众号:techcomm / htstory
微信号:bgrichi
邮箱:hash_0813@163.com
以上所述就是小编给大家介绍的《小白初识 Apache Pulsar》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。