手把手教你为开源项目贡献代码
背景
前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter
,统一进行管理。
比如我们常用的 blackbox_exporter/mysqld_exporter
等。
以往的每一个 Exporter 都需要单独部署运维。
前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter
,统一进行管理。
比如我们常用的 blackbox_exporter/mysqld_exporter
等。
以往的每一个 Exporter 都需要单独部署运维。
最近我们的 Pulsar 存储有很长一段时间数据一直得不到回收,但消息确实已经是 ACK 了,理论上应该是会被回收的,随着时间流逝不但没回收还一直再涨,最后在没找到原因的情况下就只有一直不停的扩容。
最后磁盘是得到了回收,过程先不表,之后再讨论。
为了防止类似的问题再次发生,我们希望可以监控到磁盘维度,能够列出各个日志文件的大小以及创建时间。
这时就需要对 Pulsar
的存储模型有一定的了解,也就有了这篇文章。
在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。
正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。
在上一篇文章 Pulsar3.0 升级指北讲了关于升级 Pulsar 集群的关键步骤与灾难恢复,本次主要分享一些 Pulsar3.0
的新功能与可能带来的一些问题。
先来个欲扬先抑,聊聊升级后所碰到的问题吧。
其中有两个问题我们感知比较明显,特别是第一个。
前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢:
1 | admin.topics().getPartitionedStats(topic); |
使用 curl 拿到的响应结果非常大,同时也非常耗时:
具体的 issue 在这里:https://github.com/apache/pulsar/issues/21200