pulsar消息可靠性(pulsar原理)

技术Pulsar的特性与优势有哪些这篇文章主要介绍“Pulsar的特性与优势有哪些”,在日常操作中,相信很多人在Pulsar的特性与优势有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

本文主要介绍“脉冲星的特点和优势是什么”。在日常操作中,相信很多人对脉冲星的特性和优势有所怀疑。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“脉冲星有哪些特点和优势”的疑惑!接下来,请和边肖一起学习!

为什么选择 Pulsar

现状及痛点

在使用脉冲星之前,涂鸦使用的架构基本如下图所示。消息进入接入层后,由Kafka进行分发和转换,这个消息集群主要做一些消息分发和路由的功能。然后通过HTTP传递给第三方。Pulsar的特性与优势有哪些

上述架构模型中有一些业务痛点:1. HTTP 投递方式不灵活,容易丢消息

由于网络原因,当公司服务器的规模不足以支持业务时,重启过程中可能会丢失消息。如果您想满足这一需求,您需要对消息持久性进行额外的处理。2. Kafka topic 数量与日俱增,运维成本高

随着接入厂商和开发者数量的增加,对卡夫卡运维水平的压力会比较大,人力和时间成本也会比较高。3. Kafka 自身的一些痛点,比如 Rebalance 机制

集群需要经常升级,消费者会经常断开连接。在断线的情况下,再平衡过程很长,导致消息积累增加,用户体验下降。同时,积累后的重启,在集群大量的情况下,会给消费者带来很大的压力。4. 租户之间会相互影响

如果有租户挂机未能及时处理,会一直堆积在Kafka的处理器上,会耽误后续进程,降低消息上报性能,影响其他租户。Pulsar 的特性与优势

Apache Pulsar是一个灵活的发布-订阅消息系统,采用层次化、碎片化的架构。1. 丰富的投递/订阅策略

Pulsar统一了队列模型和流模型。在主题级别只需要保存一条数据,同一条数据可以被多次使用。通过流式、排队等方式计算不同的订阅模型,大大提高了灵活性。Pulsar的特性与优势有哪些

2. 运维难度小(相比 Kafka),Rebalance 机制反应迅速

主要体现在跨区域复制。Pulsar采用云原生架构,计算和存储分离,数据远离Broker,存在于共享存储中。上层无状态代理复制消息分发和服务;是较低的持久存储层Bookie集群。脉冲星存储是碎片化的。这种架构可以避免容量扩展的限制,实现数据的独立扩展和快速恢复。3. 多租户隔离优势

租户和命名空间是脉冲星支持多租户的两个核心概念。

tion>


  • 在租户级别,Pulsar 为特定的租户预留合适的存储空间、应用授权与认证机制。
  • 在命名空间级别,Pulsar 有一系列的配置策略(policy),包括存储配额、流控、消息过期策略和命名空间之间的隔离策略。


现阶段结构
  
刚好这三点特性,对应了之前涂鸦面临的痛点,所以在契合下开始转向使用 Pulsar 来替代了 Kafka。

Pulsar的特性与优势有哪些

目前 Pulsar 的架构已应用到涂鸦智能平台,成为一个主导消息队列,后续也在围绕 Pulsar 进行一些二次开发和周边服务搭建。

以前信息的投递会有 5-6 s 的延迟,现在大概只有 1 s,整体的提升和改进是非常大的。

当然用 Pulsar 替代 Kafka 的过程,也有一些缺点,比如:成本高。这个过程就需要督促第三方开发者去替换 SDK,同时过渡时期还要支持两套系统。

刚好最近 StreamNative 开源了 KoP,可以让两者之间的迁移更简单,也算解决了这一问题。

Pulsar的特性与优势有哪些

上图就是 BookKeeper 内的 Pulsar 架构示意图,其中 zk 是指 ZooKeeper。更多关于 Broker、Bookie 和 Proxy 等概念介绍,可以参考之前 TGIP-CN 的回顾:
 Message Lifecycle:Pulsar 里的信息传递究竟是什么样子
 。

同时借由存储端 BookKeeper 的存储中间件特性,使得 Pulsar 现在的存储分离架构并没有增加额外的使用复杂度。

Proxy 在这里提供了类似 TCP 的一个代理,为 Consume 提供了“寻址”的功能。Consumer 无需关心真实的 Broker 地址,连上 Proxy 后会直接从 ZooKeeper 里拉取 Topic 的位置等数据,此过程中 Consumer 只需保证稳定的连接即可。

但 Proxy 并没有进行负载均衡的功能,这些都是在 Broker 上进行的。这一点也在之前的 TGIP-CN 直播中提到过。

当然针对涂鸦的一些使用场景,他们也在 Proxy 上进行了一些扩展。



Dubbo-go + Pulsar 的实例应用

Pulsar的特性与优势有哪些

上图是一开始使用 Pulsar 时的架构图。生产者投递消息后,利用 in Topic 路由解析出来并进行投递。但是这个过程中需要构建多个 Pulsar 集群,导致运维程度的增加。

Pulsar的特性与优势有哪些

现在在 Pulsar 架构里增加一个“source”,它可以用来收集之前的 topic,搭配 function 功能进行传递。

之后在 function 部件内嵌入了 Dubbo-go consumer,把一些复杂的路由规则通过 Dubbo-go  consumer 进行拉取。同时借用 Pulsar broker 的整体集群管理,减少了运维的业务压力。

Pulsar的特性与优势有哪些

Dubbo-go
具体关于 Dubbo 的一些 demo 展示或者使用方法,可以参考以下网站。

  • Dubbo 中文网站:
    http://dubbo.apache.org/zh-cn/

  • GitHub 仓库:
    https://github.com/apache/dubbo-go

Dubbo-go 的架构示意图可以参考下方:

Pulsar的特性与优势有哪些
Pulsar的特性与优势有哪些

到此,关于“Pulsar的特性与优势有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147017.html

(0)

相关推荐

  • php如何读取远程xml文件并转化为数组

    技术php如何读取远程xml文件并转化为数组这篇文章主要讲解了“php如何读取远程xml文件并转化为数组”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何读取远程x

    攻略 2021年10月27日
  • 抖音刷赞自助网站,网站上的点赞怎么买?

    技术抖音刷赞自助网站,网站上的点赞怎么买?抖音在线刷赞网站,刷赞抖音平台如何实现的?对网站下订单很安全,不会出现封号的情况,因为网站是真人操作,网站接到任务后就会发消息给群组,群组中有全国各地的人,然后按照指定的时间接单

    测评 2021年11月11日
  • js 定时器的用法和清除

    技术js 定时器的用法和清除 js 定时器的用法和清除一、设置定时器window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。

    礼包 2021年11月14日
  • 线性回归理解和应用例子

    技术线性回归理解和应用例子 线性回归理解和应用例子HaHa,没错又是作业...
    理解:
    线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
    这句话里的“相

    礼包 2021年11月22日
  • 怎么深入理解Java设计模式中的访问者模式

    技术怎么深入理解Java设计模式中的访问者模式怎么深入理解Java设计模式中的访问者模式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、什么是访问者模式定

    攻略 2021年11月5日
  • 为什么idea输出会乱码

    技术为什么idea输出会乱码这篇文章主要介绍“为什么idea输出会乱码”,在日常操作中,相信很多人在为什么idea输出会乱码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么idea输出

    攻略 2021年10月26日