博客园 - crossoverJie
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=167426
2024-03-29T03:21:42Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
feed.cnblogs.com
https://www.cnblogs.com/crossoverJie/p/18103435
在 kubernetes 环境下如何优雅扩缩容 Pulsar - crossoverJie
背景 在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案。 根据对线上流量、存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费用。 不过在缩容之前很有必要先聊聊扩容,Pulsar 一开始就是存算分离的架构(更多关于 Pulsa
2024-03-29T03:22:00Z
2024-03-29T03:22:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案。 根据对线上流量、存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费用。 不过在缩容之前很有必要先聊聊扩容,Pulsar 一开始就是存算分离的架构(更多关于 Pulsa <a href="https://www.cnblogs.com/crossoverJie/p/18103435" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/18026626
我的2023 - crossoverJie
今天是春节的最后一天,因为工作上临时有点事,很不情愿的打开电脑看着也就 10 天没看代码觉得非常陌生。 之后便准备将迟迟未写的 2023 总结补完,这个传统从16年至今已经坚持将近 7 年时间了,今年当然也不能意外。 健身 今年要说最让我印象深刻的事就是健身了,为此我投入了大量的时间。 我记得是在
2024-02-22T01:32:00Z
2024-02-22T01:32:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】今天是春节的最后一天,因为工作上临时有点事,很不情愿的打开电脑看着也就 10 天没看代码觉得非常陌生。 之后便准备将迟迟未写的 2023 总结补完,这个传统从16年至今已经坚持将近 7 年时间了,今年当然也不能意外。 健身 今年要说最让我印象深刻的事就是健身了,为此我投入了大量的时间。 我记得是在 <a href="https://www.cnblogs.com/crossoverJie/p/18026626" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17988673
手把手教你为开源项目贡献代码 - crossoverJie
背景 前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter,统一进行管理。 比如我们常用的 blackbox_exporter/mysqld_exporter 等。 以往的每一个 Exporter
2024-01-26T01:48:00Z
2024-01-26T01:48:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter,统一进行管理。 比如我们常用的 blackbox_exporter/mysqld_exporter 等。 以往的每一个 Exporter <a href="https://www.cnblogs.com/crossoverJie/p/17988673" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17969298
白话 Pulsar Bookkeeper 的存储模型 - crossoverJie
最近我们的 Pulsar 存储有很长一段时间数据一直得不到回收,但消息确实已经是 ACK 了,理论上应该是会被回收的,随着时间流逝不但没回收还一直再涨,最后在没找到原因的情况下就只有一直不停的扩容。 最后磁盘是得到了回收,过程先不表,之后再讨论。 为了防止类似的问题再次发生,我们希望可以监控到磁盘维
2024-01-17T02:26:00Z
2024-01-17T02:26:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】最近我们的 Pulsar 存储有很长一段时间数据一直得不到回收,但消息确实已经是 ACK 了,理论上应该是会被回收的,随着时间流逝不但没回收还一直再涨,最后在没找到原因的情况下就只有一直不停的扩容。 最后磁盘是得到了回收,过程先不表,之后再讨论。 为了防止类似的问题再次发生,我们希望可以监控到磁盘维 <a href="https://www.cnblogs.com/crossoverJie/p/17969298" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17954208
请注意,你的 Pulsar 集群可能有删除数据的风险 - crossoverJie
在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。 正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。 现象 先来回顾下当时的情况:升级当晚没有出现啥问题,各个流量指标、生产者、
2024-01-09T04:25:00Z
2024-01-09T04:25:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。 正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。 现象 先来回顾下当时的情况:升级当晚没有出现啥问题,各个流量指标、生产者、 <a href="https://www.cnblogs.com/crossoverJie/p/17954208" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17947328
Pulsar3.0新功能介绍 - crossoverJie
在上一篇文章 Pulsar3.0 升级指北讲了关于升级 Pulsar 集群的关键步骤与灾难恢复,本次主要分享一些 Pulsar3.0 的新功能与可能带来的一些问题。 升级后所遇到的问题 先来个欲扬先抑,聊聊升级后所碰到的问题吧。 其中有两个问题我们感知比较明显,特别是第一个。 topic被删除 我们
2024-01-05T07:18:00Z
2024-01-05T07:18:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】在上一篇文章 Pulsar3.0 升级指北讲了关于升级 Pulsar 集群的关键步骤与灾难恢复,本次主要分享一些 Pulsar3.0 的新功能与可能带来的一些问题。 升级后所遇到的问题 先来个欲扬先抑,聊聊升级后所碰到的问题吧。 其中有两个问题我们感知比较明显,特别是第一个。 topic被删除 我们 <a href="https://www.cnblogs.com/crossoverJie/p/17947328" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17925616.html
Pulsar3.0 升级指北 - crossoverJie
Pulsar3.0 介绍 Pulsar3.0 是 Pulsar 社区推出的第一个 LTS 长期支持版本。 如图所示,LTS 版本会最长支持到 36 个月,而 Feature 版本最多只有六个月;类似于我们使用的 JDK11,17,21 都是可以长期使用的;所以也推荐大家都升级到 LTS 版本。 作为
2023-12-25T02:33:00Z
2023-12-25T02:33:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】Pulsar3.0 介绍 Pulsar3.0 是 Pulsar 社区推出的第一个 LTS 长期支持版本。 如图所示,LTS 版本会最长支持到 36 个月,而 Feature 版本最多只有六个月;类似于我们使用的 JDK11,17,21 都是可以长期使用的;所以也推荐大家都升级到 LTS 版本。 作为 <a href="https://www.cnblogs.com/crossoverJie/p/17925616.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17919842.html
如何给开源项目发起提案 - crossoverJie
背景 前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢: admin.topics().getPartitionedStats(topic); 使用 curl 拿到的响应结果非常大,同时也非常耗时: 具体的 issue 在这里:https://github.co
2023-12-21T10:32:00Z
2023-12-21T10:32:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢: admin.topics().getPartitionedStats(topic); 使用 curl 拿到的响应结果非常大,同时也非常耗时: 具体的 issue 在这里:https://github.co <a href="https://www.cnblogs.com/crossoverJie/p/17919842.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17896049.html
如何编写一个 Pulsar Broker Interceptor 插件 - crossoverJie
背景 之前写过一篇文章 VictoriaLogs:一款超低占用的 ElasticSearch 替代方案讲到了我们使用 Victorialogs 来存储 Pulsar 消息队列的消息 trace 信息。 而其中的关键的埋点信息是通过 Pulsar 的 BrokerInterceptor 实现的,后面就
2023-12-12T01:22:00Z
2023-12-12T01:22:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 之前写过一篇文章 VictoriaLogs:一款超低占用的 ElasticSearch 替代方案讲到了我们使用 Victorialogs 来存储 Pulsar 消息队列的消息 trace 信息。 而其中的关键的埋点信息是通过 Pulsar 的 BrokerInterceptor 实现的,后面就 <a href="https://www.cnblogs.com/crossoverJie/p/17896049.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17858684.html
五分钟 k8s 实战-应用探针 - crossoverJie
今天进入 kubernetes 的运维部分(并不是运维 kubernetes,而是运维应用),其实日常我们大部分使用 kubernetes 的功能就是以往运维的工作,现在云原生将运维和研发关系变得更紧密了。 今天主要讲解 Probe 探针相关的功能,探针最实用的功能就是可以控制应用优雅上线。 就绪探
2023-11-27T02:19:00Z
2023-11-27T02:19:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】今天进入 kubernetes 的运维部分(并不是运维 kubernetes,而是运维应用),其实日常我们大部分使用 kubernetes 的功能就是以往运维的工作,现在云原生将运维和研发关系变得更紧密了。 今天主要讲解 Probe 探针相关的功能,探针最实用的功能就是可以控制应用优雅上线。 就绪探 <a href="https://www.cnblogs.com/crossoverJie/p/17858684.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17843188.html
升级到 Pulsar3.0 后深入了解 JWT 鉴权 - crossoverJie
背景 最近在测试将 Pulsar 2.11.2 升级到 3.0.1的过程中碰到一个鉴权问题,正好借着这个问题充分了解下 Pulsar 的鉴权机制是如何运转的。 Pulsar 支持 Namespace/Topic 级别的鉴权,在生产环境中往往会使用 topic 级别的鉴权,从而防止消息泄露或者其他因为
2023-11-20T01:10:00Z
2023-11-20T01:10:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 最近在测试将 Pulsar 2.11.2 升级到 3.0.1的过程中碰到一个鉴权问题,正好借着这个问题充分了解下 Pulsar 的鉴权机制是如何运转的。 Pulsar 支持 Namespace/Topic 级别的鉴权,在生产环境中往往会使用 topic 级别的鉴权,从而防止消息泄露或者其他因为 <a href="https://www.cnblogs.com/crossoverJie/p/17843188.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17833668.html
五分钟k8s实战-Istio 网关 - crossoverJie
在上一期 k8s-服务网格实战-配置 Mesh 中讲解了如何配置集群内的 Mesh 请求,Istio 同样也可以处理集群外部流量,也就是我们常见的网关。 其实和之前讲到的k8s入门到实战-使用Ingress Ingress 作用类似,都是将内部服务暴露出去的方法。 只是使用 Istio-gatewa
2023-11-15T05:52:00Z
2023-11-15T05:52:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】在上一期 k8s-服务网格实战-配置 Mesh 中讲解了如何配置集群内的 Mesh 请求,Istio 同样也可以处理集群外部流量,也就是我们常见的网关。 其实和之前讲到的k8s入门到实战-使用Ingress Ingress 作用类似,都是将内部服务暴露出去的方法。 只是使用 Istio-gatewa <a href="https://www.cnblogs.com/crossoverJie/p/17833668.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17815579.html
k8s-服务网格实战-配置 Mesh(灰度发布) - crossoverJie
在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡。 今天我们更进一步,深入了解使用 Istio 的功能。 从 Istio 的流量模型中可以看出:Istio 支持管理集群的出入口请求(gateway),同时也支持管理集
2023-11-07T10:05:00Z
2023-11-07T10:05:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡。 今天我们更进一步,深入了解使用 Istio 的功能。 从 Istio 的流量模型中可以看出:Istio 支持管理集群的出入口请求(gateway),同时也支持管理集 <a href="https://www.cnblogs.com/crossoverJie/p/17815579.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17802270.html
k8s-服务网格实战-入门Istio - crossoverJie
背景 终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了: 如何部署应用到 kubernetes 服务之间如何调用 如何通过域名访问我们的服务 如何使用 kubernetes 自带的配置 ConfigMap 基本上已经够我们开发一般规模的 web 应用了;但在企业中往往有着复杂的应用调用关系
2023-11-01T01:05:00Z
2023-11-01T01:05:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了: 如何部署应用到 kubernetes 服务之间如何调用 如何通过域名访问我们的服务 如何使用 kubernetes 自带的配置 ConfigMap 基本上已经够我们开发一般规模的 web 应用了;但在企业中往往有着复杂的应用调用关系 <a href="https://www.cnblogs.com/crossoverJie/p/17802270.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17776868.html
如何优雅重启 kubernetes 的 Pod - crossoverJie
最近在升级服务网格 Istio,升级后有个必要的流程就是需要重启数据面的所有的 Pod,也就是业务的 Pod,这样才能将这些 Pod 的 sidecar 更新为新版本。 方案 1 因为我们不同环境的 Pod 数不少,不可能手动一个个重启;之前也做过类似的操作: kubectl delete --al
2023-10-20T05:36:00Z
2023-10-20T05:36:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】最近在升级服务网格 Istio,升级后有个必要的流程就是需要重启数据面的所有的 Pod,也就是业务的 Pod,这样才能将这些 Pod 的 sidecar 更新为新版本。 方案 1 因为我们不同环境的 Pod 数不少,不可能手动一个个重启;之前也做过类似的操作: kubectl delete --al <a href="https://www.cnblogs.com/crossoverJie/p/17776868.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17769503.html
在 kubernetes 环境中实现 gRPC 负载均衡 - crossoverJie
前言 前段时间写过一篇 gRPC 的入门文章,在最后还留了一个坑没有填: 也就是 gRPC 的负载均衡问题,因为当时的业务请求量不算大,再加上公司没有对 Istio 这类服务网格比较熟悉的大牛,所以我们也就一直拖着没有解决,依然只是使用了 kubernetes 的 service 进行负载,好在也没
2023-10-17T05:41:00Z
2023-10-17T05:41:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】前言 前段时间写过一篇 gRPC 的入门文章,在最后还留了一个坑没有填: 也就是 gRPC 的负载均衡问题,因为当时的业务请求量不算大,再加上公司没有对 Istio 这类服务网格比较熟悉的大牛,所以我们也就一直拖着没有解决,依然只是使用了 kubernetes 的 service 进行负载,好在也没 <a href="https://www.cnblogs.com/crossoverJie/p/17769503.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17752599.html
使用 Helm 管理应用的一些 Tips - crossoverJie
背景 Helm 是一个 Kubernetes 的包管理工具,有点类似于 Mac 上的 brew,Python 中的 PIP;可以很方便的帮我们直接在 kubernetes 中安装某个应用。 比如我们可以直接使用以下命令方便的在 k8s 集群安装和卸载 MySQL: helm install my-s
2023-10-09T10:02:00Z
2023-10-09T10:02:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 Helm 是一个 Kubernetes 的包管理工具,有点类似于 Mac 上的 brew,Python 中的 PIP;可以很方便的帮我们直接在 kubernetes 中安装某个应用。 比如我们可以直接使用以下命令方便的在 k8s 集群安装和卸载 MySQL: helm install my-s <a href="https://www.cnblogs.com/crossoverJie/p/17752599.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17731906.html
五分钟k8s入门到实战-应用配置 - crossoverJie
背景 在前面三节中已经讲到如何将我们的应用部署到 k8s 集群并提供对外访问的能力,x现在可以满足基本的应用开发需求了。 现在我们需要更进一步,使用 k8s 提供的一些其他对象来标准化我的应用开发。 首先就是 ConfigMap,从它的名字也可以看出这是用于管理配置的对象。 ConfigMap 不管
2023-09-27T01:25:00Z
2023-09-27T01:25:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 在前面三节中已经讲到如何将我们的应用部署到 k8s 集群并提供对外访问的能力,x现在可以满足基本的应用开发需求了。 现在我们需要更进一步,使用 k8s 提供的一些其他对象来标准化我的应用开发。 首先就是 ConfigMap,从它的名字也可以看出这是用于管理配置的对象。 ConfigMap 不管 <a href="https://www.cnblogs.com/crossoverJie/p/17731906.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17713741.html
Github的一个奇技淫巧 - crossoverJie
背景 前段时间给 VictoriaLogs 提交了一个 PR: https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4934 本来一切都很顺利,只等合并了,但在临门一脚的时候社区维护人员问我可否给 git commit 加上签名。 于是我就
2023-09-19T01:17:00Z
2023-09-19T01:17:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 前段时间给 VictoriaLogs 提交了一个 PR: https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4934 本来一切都很顺利,只等合并了,但在临门一脚的时候社区维护人员问我可否给 git commit 加上签名。 于是我就 <a href="https://www.cnblogs.com/crossoverJie/p/17713741.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/crossoverJie/p/17704116.html
五分钟k8s实战-使用Ingress - crossoverJie
背景 前两章中我们将应用部署到了 k8s 中,同时不同的服务之间也可以通过 service 进行调用,现在还有一个步骤就是将我们的应用暴露到公网,并提供域名的访问。 这一步类似于我们以前配置 Nginx 和绑定域名,提供这个能力的服务在 k8s 中成为 Ingress。 通过这个描述其实也能看出 I
2023-09-15T01:30:00Z
2023-09-15T01:30:00Z
crossoverJie
https://www.cnblogs.com/crossoverJie/
【摘要】背景 前两章中我们将应用部署到了 k8s 中,同时不同的服务之间也可以通过 service 进行调用,现在还有一个步骤就是将我们的应用暴露到公网,并提供域名的访问。 这一步类似于我们以前配置 Nginx 和绑定域名,提供这个能力的服务在 k8s 中成为 Ingress。 通过这个描述其实也能看出 I <a href="https://www.cnblogs.com/crossoverJie/p/17704116.html" target="_blank">阅读全文</a>