当前位置:首页 > 科技  > 软件

Pulsar3.0新功能,你了解了吗?

来源: 责编: 时间:2024-01-03 09:12:15 301观看
导读升级后所遇到的问题先来个欲扬先抑,聊聊升级后所碰到的问题吧。其中有两个问题我们感知比较明显,特别是第一个。topic被删除我们在上个月某天凌晨从 2.11.2 升级到 3.0.1 之后,进行了上一篇文章中所提到的功能性测试,发现

升级后所遇到的问题

先来个欲扬先抑,聊聊升级后所碰到的问题吧。jjs28资讯网——每日最新资讯28at.com

其中有两个问题我们感知比较明显,特别是第一个。jjs28资讯网——每日最新资讯28at.com

topic被删除

我们在上个月某天凌晨从 2.11.2 升级到 3.0.1 之后,进行了上一篇文章中所提到的功能性测试,发现没什么问题,觉得一切都还挺顺利的,半个小时搞定后就下班了。jjs28资讯网——每日最新资讯28at.com

结果哪知道第二天是被电话叫醒的,有部分业务反馈业务重启之后就无法连接到 Pulsar 了。jjs28资讯网——每日最新资讯28at.com

图片图片jjs28资讯网——每日最新资讯28at.com

最终定位是 topic 被删除了。jjs28资讯网——每日最新资讯28at.com

其中的细节还蛮多的,修复过程也是一波三折,后面我会单独写一篇文章来详细梳理这个过程。jjs28资讯网——每日最新资讯28at.com

在这个 issue 和 PR 中有详细的描述:https://github.com/apache/pulsar/issues/21653 https://github.com/apache/pulsar/pull/21704jjs28资讯网——每日最新资讯28at.com

感兴趣的朋友也可以先看看。jjs28资讯网——每日最新资讯28at.com

监控指标丢失

第二个问题不是那么严重,是升级后发现  bookkeeper 的一些监控指标丢失了,比如这里的写入延迟:jjs28资讯网——每日最新资讯28at.com

图片图片jjs28资讯网——每日最新资讯28at.com

我也定位了蛮久,但不管是官方的 docker 镜像还是源码编译都无法复现这个问题。jjs28资讯网——每日最新资讯28at.com

最终丢失的指标有这些:jjs28资讯网——每日最新资讯28at.com

  • bookkeeper_server_ADD_ENTRY_REQUEST
  • bookkeeper_server_ADD_ENTRY_BLOCKED
  • bookkeeper_server_READ_ENTRY_BLOCKED
  • bookie_journal_JOURNAL_CB_QUEUE_SIZE
  • bookie_read_cache_hits_count
  • bookie_read_cache_misses_count
  • bookie_DELETED_LEDGER_COUNT
  • bookie_MAJOR_COMPACTION_COUNT

详细内容可以参考这个 issue:https://github.com/apache/pulsar/issues/21766jjs28资讯网——每日最新资讯28at.com

新特性

讲完了遇到的 bug,再来看看带来的新特性,重点介绍我们用得上的特性。jjs28资讯网——每日最新资讯28at.com

支持低负载均衡

图片图片jjs28资讯网——每日最新资讯28at.com

当我们升级或者是重启 broker 的时候,全部重启成功后其实会发现最后重启的那个 broker 是没有流量的。jjs28资讯网——每日最新资讯28at.com

这个原理和优化在之前写过的 Pulsar负载均衡原理及优化 其实有详细介绍。jjs28资讯网——每日最新资讯28at.com

本次 3.0 终于将那个优化发版了,之后只要我们配置 lowerBoundarySheddingEnabled: true 就能开启这个低负载均衡的一个特性,使得低负载的 broker 依然有流量进入。jjs28资讯网——每日最新资讯28at.com

跳过空洞消息

图片图片jjs28资讯网——每日最新资讯28at.com

Pulsar 可能会因为消息消费异常导致游标出现空洞,从而导致磁盘得不到释放;jjs28资讯网——每日最新资讯28at.com

所以我们有一个定时任务,会定期扫描积压消息的 topic 判断是否存在空洞消息,如果存在便可以在管理台使用 skipMessage API 跳过空洞消息,从而释放磁盘。jjs28资讯网——每日最新资讯28at.com

但在 3.0 之前这个跳过 API 存在 bug,只要跳过的数量超过 8 时,实际跳过的数量就会小于 8.jjs28资讯网——每日最新资讯28at.com

具体 issue 和修复过程在这里:https://github.com/apache/pulsar/issues/20262 https://github.com/apache/pulsar/pull/20326jjs28资讯网——每日最新资讯28at.com

总之这个问题在 3.0 之后也是修复了,有类似需求的朋友也可以使用。jjs28资讯网——每日最新资讯28at.com

新的负载均衡器

同时也支持了一个新的负载均衡器,解决了以下问题:jjs28资讯网——每日最新资讯28at.com

  • 以前的负载均衡大量依赖 zk,当 topic 数量增多时对扩展性带来问题。
  • 新的负载均衡器使用 non-persistent 来存储负载信息,就不再依赖 zk 。
  • 以前的负载均衡器需要依赖 leader broker 进行重定向到具体的 broker,其实这些重定向并无意义,徒增了系统开销。
  • 新的负载均衡器使用了 SystemTopic 来存放 topic 的所有权信息,这样每个 broker 都可以拿到数据,从而不再需要从 leader broker 重定向了。jjs28资讯网——每日最新资讯28at.com

更多完整信息可以参考这个 PIP: PIP-192: New Pulsar Broker Load Balancerjjs28资讯网——每日最新资讯28at.com

支持大规模延迟消息

第二个重大特性是支持大规模延迟消息,相信是有不少企业选择 Pulsar 也是因为他原生就支持延迟消息。jjs28资讯网——每日最新资讯28at.com

我们也是大量在业务中使用延迟消息,以往的延迟消息有着以下一些问题:jjs28资讯网——每日最新资讯28at.com

  • 内存开销过大,延迟消息的索引都是保存在内存中,即便是可以分布在多个 broker 中分散存储,但消耗依然较大
  • 重点优化了索引的内存占有量。
  • 重启 broker 时会消耗大量时候重建索引
  • 支持了索引快照,最大限度的降低了构建索引的资源消耗。jjs28资讯网——每日最新资讯28at.com

待优化功能

监控面板优化

最后即便是升级到了 3.0 依然还有一些待优化的功能,在之前的 从 Pulsar Client 的原理到它的监控面板中有提到给客户端加了一些监控埋点信息。jjs28资讯网——每日最新资讯28at.com

最终使用下来发现还缺一个 ack 耗时的一个面板,其实日常碰到最多的问题就是突然不能消费了(或者消费过慢)。jjs28资讯网——每日最新资讯28at.com

这时如果有这样的耗时面板,首先就可以定位出是否是消费者本身的问题。jjs28资讯网——每日最新资讯28at.com

图片图片jjs28资讯网——每日最新资讯28at.com

目前还在开发中,大概类似于这样的数据。jjs28资讯网——每日最新资讯28at.com

总结

Pulsar3.0 是 Pulsar 的第一个 LTS 版本,推荐尽快升级可以获得长期支持。但只要是软件就会有 bug,即便是 LTS 版本,所以大家日常使用碰到 Bug 建议多向社区反馈,一起推动 Pulsar 的进步。jjs28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-56561-0.htmlPulsar3.0新功能,你了解了吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python的神奇算术,用代码轻松求和

下一篇: .NET 8 的 IHostedLifecycleService 接口是鸡肋功能吗?

标签:
  • 热门焦点
  • 小米官宣:2023年上半年出货量中国第一!

    今日早间,小米电视官方微博带来消息,称2023年小米电视上半年出货量达到了中国第一,同时还表示小米电视的巨屏风暴即将开始。“公布一个好消息2023年#小米电视上半年出货量中国
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 7月4日见!iQOO 11S官宣:“鸡血版”骁龙8 Gen2+200W快充加持

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • 联想小新Pad Pro 12.6将要推出,搭载高通骁龙 870 处理器

    联想小新Pad Pro 12.6将于秋季新品会上推出,官方按照惯例直接在发布会前给出了机型的所有参数。联想小新 Pad Pro 12.6 将搭载高通骁龙 870 处理器,重量为 5
Top