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)

相关推荐

  • springsecurity权限控制(springboot权限控制框架)

    技术SpringBoot2 整合SpringSecurity框架是怎么实现用户权限安全管理这篇文章给大家介绍SpringBoot2 整合SpringSecurity框架是怎么实现用户权限安全管理,内容非常详细,感兴趣的小

    攻略 2021年12月18日
  • 站内链接有什么作用

    技术站内链接有什么作用这篇文章主要介绍“站内链接有什么作用”,在日常操作中,相信很多人在站内链接有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”站内链接有什么作用”的疑惑有所帮助!

    攻略 2021年11月2日
  • Hive常用查询命令和使用方法

    技术Hive常用查询命令和使用方法这期内容当中小编将会给大家带来有关Hive常用查询命令和使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 将日志文件传到HDFS ```ba

    攻略 2021年11月11日
  • javascript如何使用数组中的sort方法

    技术javascript如何使用数组中的sort方法这篇文章主要为大家展示了“javascript如何使用数组中的sort方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“j

    攻略 2021年11月8日
  • 如何利用okhttp框架实现包含验证码的用户登录并保持session操作

    技术如何利用okhttp框架实现包含验证码的用户登录并保持session操作小编给大家分享一下如何利用okhttp框架实现包含验证码的用户登录并保持session操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参

    攻略 2021年11月18日
  • MySQL和Oracle中的唯一性索引的差别是怎样的

    技术MySQL和Oracle中的唯一性索引的差别是怎样的本篇文章给大家分享的是有关MySQL和Oracle中的唯一性索引的差别是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说

    攻略 2021年11月16日