SF
crossoverJie专栏
crossoverJie专栏
注册登录
关注博客
注册登录
主页
关于
RSS
日志与追踪的完美融合:OpenTelemetry MDC 实践指南
crossoverJie
9 月 11 日
阅读 9 分钟
887
前言在前面两篇实战文章中:OpenTelemetry 实战:从零实现分布式链路追踪OpenTelemetry 实战:从零实现应用指标监控覆盖了可观测中的指标追踪和 metrics 监控,下面理应开始第三部分:日志。但在开始日志之前还是要先将链路追踪和日志结合起来看看应用实际使用的实践。通常我们排查问题的方式是先查询异常日志,判断是否...
OpenTelemetry 实战:gRPC 监控的实现原理
crossoverJie
9 月 4 日
阅读 9 分钟
387
最近在给 opentelemetry-java-instrumentation 提交了一个 PR,是关于给 gRPC 新增四个 metrics:
OpenTelemetry 实战:从零实现应用指标监控
crossoverJie
8 月 28 日
阅读 8 分钟
647
以上是加入 metrics 之后的流程图,在原有的基础上会新增一个 Prometheus 组件,collector 会将 metrics 指标数据通过远程的 remote write 的方式写入到 Prometheus 中。
深入理解单元测试:技巧与最佳实践
crossoverJie
8 月 15 日
阅读 8 分钟
339
之前分享过如何快速上手开源项目以及如何在开源项目里做集成测试,但还没有讲过具体的实操。今天来详细讲讲如何写单元测试。🤔什么情况下需要单元测试这个大家应该是有共识的,对于一些功能单一、核心逻辑、同时变化不频繁的公开函数才有必要做单元测试。对于业务复杂、链路繁琐但也是核心流程的功能通常建议做 e2e 测试...
Pulsar客户端消费模式揭秘:Go 语言实现 ZeroQueueConsumer
crossoverJie
7 月 29 日
阅读 7 分钟
231
他发现手动将 pulsar-client-go 客户端的 ReceiverQueueSize 设置为 0 的时候,客户端在初始化时会再将其调整为 1000.
载均衡技术全解析:Pulsar 分布式系统的最佳实践
crossoverJie
7 月 16 日
阅读 12 分钟
484
背景Pulsar 有提供一个查询 Broker 负载的接口: {代码...} 可以返回一些 broker 的负载数据,比如 CPU、内存、流量之类的数据。<!--more-->我目前碰到的问题是目前会遇到部分节点的负债不平衡,导致资源占用不均衡,所以想要手动查询所有节点的负载数据,然后人工进行负载。理论上这些数据是在运行时实时计算的数...
🎉我是如何从零到成为 Apache 顶级项目的 Committer
crossoverJie
7 月 12 日
阅读 4 分钟
371
<!--more-->一路走来我从最开始的打游击战的闲散人员到如今活跃在各个开源项目里的“老兵”,用现在流行的话来说 Apache 的这两个 Committer 就相当于是拿到了编制,进入了正规军。
OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的问题排查
crossoverJie
6 月 14 日
阅读 8 分钟
599
前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverProvider) 不生效的问题。
实操 OpenTelemetry:通过 Demo 掌握微服务监控的艺术
crossoverJie
5 月 28 日
阅读 6 分钟
1k
在上一篇文章 OpenTelemetry 实践指南:历史、架构与基本概念中回顾了可观测性的历史以及介绍了一些 OpenTelemetry 的基础概念,同时也介绍了 OpenTelemetry 社区常用的开源项目。
OpenTelemetry 实践指南:历史、架构与基本概念
crossoverJie
5 月 27 日
阅读 8 分钟
1.2k
背景之前陆续写过一些和 OpenTelemetry 相关的文章:实战:如何优雅的从 Skywalking 切换到 OpenTelemetry实战:如何编写一个 OpenTelemetry Extensions从一个 JDK21+OpenTelemetry 不兼容的问题讲起这些内容的前提是最好有一些 OpenTelemetry 的背景知识,看起来就不会那么枯燥,为此这篇文章就来做一个入门科普,方便...
自动测试在 Operator 开发中的应用:以 OpenTelemetry为例
crossoverJie
5 月 14 日
阅读 7 分钟
377
因为在当前的版本下,只要给 deployment 打上了 instrumentation.opentelemetry.io/inject-java: "true" 这类注解就会给该 deployment 注入 agent。但没办法指定不同的 agent 版本(或者不同的环境变量),所以希望可以新增一个选择器,同时可以针对不同的 deployment 维护不同版本的 Instrumentation(是用于...
OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的
crossoverJie
5 月 14 日
阅读 8 分钟
940
前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverProvider) 不生效的问题。
深入剖析:如何使用Pulsar和Arthas高效排查消息队列延迟问题
crossoverJie
5 月 7 日
阅读 4 分钟
305
前两天收到业务反馈有一个 topic 的分区消息堆积了:根据之前的经验来看,要么是业务消费逻辑出现问题导致消费过慢,当然也有小概率是消息队列的 Bug(我们使用的是 pulsar)。
日志架构演进:从集中式到分布式的Kubernetes日志策略
crossoverJie
4 月 23 日
阅读 6 分钟
619
可是随着我们使用 kubernetes 步入云原生的时代后, kubernetes 把以往的操作系统上的许多底层都屏蔽,再由他提供了一些标准接口。
实战:如何编写一个 OpenTelemetry Extensions
crossoverJie
4 月 16 日
阅读 10 分钟
189
前段时间我们从 SkyWalking 切换到了 OpenTelemetry ,与此同时之前使用 SkyWalking 编写的插件也得转移到 OpenTelemetry 体系下。
2024年的云原生架构需要哪些技术栈
crossoverJie
4 月 11 日
阅读 5 分钟
452
时间过得很快啊,一转眼已经到了 2024 年,还记得 15 年刚工作那会掌握个 SSM/H(Spring/Struts2/Mybatis/Hibernate) 框架就能应付大部分面试了。
实战:如何优雅的从 Skywalking 切换到 OpenTelemetry
crossoverJie
4 月 8 日
阅读 11 分钟
1.6k
背景最近公司将我们之前使用的链路工具切换为了 OpenTelemetry.我们的技术栈是: {代码...} 其中客户端使用 OpenTelemetry 提供的 Java Agent 进行埋点收集数据,再由 Agent 通过 OTLP(OpenTelemetry Protocol) 协议将数据发往 Collector,在 Collector 中我们可以自行任意处理数据,并决定将这些数据如何存储(这点在以...
在 kubernetes 环境下如何优雅扩缩容 Pulsar
crossoverJie
3 月 29 日
阅读 6 分钟
315
不过在缩容之前很有必要先聊聊扩容,Pulsar 一开始就是存算分离的架构(更多关于 Pulsar 架构的内容本文不做过多介绍,感兴趣的可以自行搜索),天然就非常适合 kubernetes 环境,也可以利用 kubernetes 的能力进行快速扩容。
白话 Pulsar Bookkeeper 的存储模型
crossoverJie
1 月 16 日
阅读 3 分钟
487
最近我们的 Pulsar 存储有很长一段时间数据一直得不到回收,但消息确实已经是 ACK 了,理论上应该是会被回收的,随着时间流逝不但没回收还一直再涨,最后在没找到原因的情况下就只有一直不停的扩容。
请注意,你的 Pulsar 集群可能有删除数据的风险
crossoverJie
1 月 11 日
阅读 7 分钟
612
在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。现象先来回顾下当时的情况:升级当晚没有出现啥问题,各个流量指标、生产者、消费者数量都是在正常范围内波...
Pulsar3.0新功能介绍
crossoverJie
1 月 5 日
阅读 3 分钟
577
在上一篇文章 Pulsar3.0 升级指北讲了关于升级 Pulsar 集群的关键步骤与灾难恢复,本次主要分享一些 Pulsar3.0 的新功能与可能带来的一些问题。升级后所遇到的问题先来个欲扬先抑,聊聊升级后所碰到的问题吧。其中有两个问题我们感知比较明显,特别是第一个。topic被删除我们在上个月某天凌晨从 2.11.2 升级到 3.0.1 之...
Pulsar3.0 升级指北
crossoverJie
2023-12-25
阅读 7 分钟
688
如图所示,LTS 版本会最长支持到 36 个月,而 Feature 版本最多只有六个月;类似于我们使用的 JDK11,17,21 都是可以长期使用的;所以也推荐大家都升级到 LTS 版本。
如何给开源项目发起提案
crossoverJie
2023-12-21
阅读 2 分钟
569
背景前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢: {代码...} 使用 curl 拿到的响应结果非常大,同时也非常耗时:具体的 issue 在这里:[链接]后面经过分析,是因为某些 topic 的生产者和消费者非常多,导致这个查询 topic 统计的接口数据量非常大。但在我这个场景其实是不需要这些生产者和消...
如何编写一个 Pulsar Broker Interceptor 插件
crossoverJie
2023-12-12
阅读 4 分钟
361
而其中的关键的埋点信息是通过 Pulsar 的 BrokerInterceptor 实现的,后面就有朋友咨询这块代码是否开源,目前是没有开源的,不过借此机会可以聊聊如何实现一个 BrokerInterceptor 插件,当前还没有相关的介绍文档。
五分钟 k8s 实战-应用探针
crossoverJie
2023-11-27
阅读 2 分钟
463
今天进入 kubernetes 的运维部分(并不是运维 kubernetes,而是运维应用),其实日常我们大部分使用 kubernetes 的功能就是以往运维的工作,现在云原生将运维和研发关系变得更紧密了。
升级到 Pulsar3.0 后深入了解 JWT 鉴权
crossoverJie
2023-11-20
阅读 4 分钟
656
最近在测试将 Pulsar 2.11.2 升级到 3.0.1的过程中碰到一个鉴权问题,正好借着这个问题充分了解下 Pulsar 的鉴权机制是如何运转的。
五分钟k8s实战-Istio 网关
crossoverJie
2023-11-15
阅读 3 分钟
761
这里有一张功能对比图,可以明显的看出 Istio-gateway 支持的功能会更多,如果是一个中大型企业并且已经用上 Istio 后还是更推荐是有 Istio-gateway,使用同一个控制面就可以管理内外网流量。
k8s-服务网格实战-配置 Mesh(灰度发布)
crossoverJie
2023-11-07
阅读 9 分钟
343
今天我们更进一步,深入了解使用 Istio 的功能。从 Istio 的流量模型中可以看出:Istio 支持管理集群的出入口请求(gateway),同时也支持管理集群内的 mesh 流量,也就是集群内服务之间的请求。
k8s-服务网格实战-入门Istio
crossoverJie
2023-11-01
阅读 4 分钟
328
背景终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了:如何部署应用到 kubernetes服务之间如何调用如何通过域名访问我们的服务如何使用 kubernetes 自带的配置 ConfigMap基本上已经够我们开发一般规模的 web 应用了;但在企业中往往有着复杂的应用调用关系,应用与应用之间的请求也需要进行管理。比如常见...
如何优雅重启 kubernetes 的 Pod
crossoverJie
2023-10-20
阅读 7 分钟
840
最近在升级服务网格 Istio,升级后有个必要的流程就是需要重启数据面的所有的 Pod,也就是业务的 Pod,这样才能将这些 Pod 的 sidecar 更新为新版本。
1
(current)
2
3
4
5
…
More
下一页
1
(current)
下一页