- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 DevOps系列之生产Java问题常见排查
Java生产环境故障排查与性能分析指南摘要 核心工具: HPROF文件分析OOM问题 堆内存快照,记录对象实例、引用关系 使用MAT工具分析泄漏报告/支配树/直方图 重点排查Retained Heap大的对象 JFR文件分析性能问题 低开销持续记录JVM运行数据 使用JMC分析CPU热点/线程阻塞/内存分配 支持按症状选择分析路径(CPU高/响应慢/GC频繁) 关键技巧: OOM问题查支配树找内存黑洞 CPU问题查方法采样热点 响应慢问题查线程阻塞原因 内存分配问题查TLAB分配 常用工具:MAT、JMC、
2025-12-09 16:05:19
1128
原创 实战SSO AzureID 企业级极简整合指南
本文介绍了如何使用Spring Boot 3快速集成OIDC协议实现企业级单点登录(SSO)。通过Spring Security OAuth2 Client简化配置,只需在application.yml中定义issuer-uri即可自动发现OIDC端点。文章详细展示了核心配置步骤:添加依赖、配置OAuth2客户端、实现安全过滤链,并提供了一个调试接口来查看Token中的用户信息。特别强调了Scope配置和重定向URI设置等注意事项,最终实现了一个无需数据库、仅通过配置即可完成的企业级SSO方案。
2025-11-28 19:10:57
758
原创 EKS 挂载 S3 实现 JVM 快照留存
本文介绍了在Kubernetes(AWS EKS)环境下实现Java应用OOM时自动将Heap Dump文件上传至S3的完整方案。首先解释了OOM错误和Heap Dump的重要性,然后详细说明了环境准备要求,包括安装S3 Mountpoint CSI驱动以挂载S3存储。核心部分提供了Deployment的YAML配置示例,通过JVM参数-XX:+HeapDumpOnOutOfMemoryError和PVC挂载实现自动化Heap Dump生成和存储。特别指出JDK 8与JDK 21在处理S3挂载目录时的差异及
2025-12-12 15:10:59
671
原创 SSH 隧道连接生产环境堡垒机实操
本文提供通过跳板机SSH隧道安全连接生产环境数据库(RDS/Redis/OpenSearch)的操作指南。主要内容包括: 跳板机连接信息(IP/用户名/密码) 分步配置说明: DBeaver连接RDS的SSH隧道设置 Another Redis Desktop Manager连接Redis PowerShell脚本建立OpenSearch隧道 常见问题排查: 连接失败原因分析 密码输入注意事项 保持连接稳定的技巧 所有连接均需通过跳板机转发,确保生产环境数据库不直接暴露于公网。操作时需注意密码安全输入和隧道
2025-12-09 14:48:58
653
原创 不再造轮子:我如何用 Microsoft Entra ID (Azure AD) 重构企业级权限管理
作为一个 DevOps 架构师,我一直在思考如何让应用的身份认证更安全、更易维护。本文记录了我从零开始调研 Microsoft Entra ID(原 Azure AD)的过程,探讨了它如何通过 OIDC 协议重塑前后端开发模式,以及如何在 100 人规模的团队中,利用免费版方案实现“零信任”架构的落地。
2025-11-28 16:19:21
333
原创 Aurora RDS MySQL The table ‘/rdsdbdata/tmp/#sql14b_df16d_1bd‘ is full
摘要: AWS RDS MySQL定时任务因"table is full"错误失败,分析发现是复杂SQL查询导致临时表溢出。优化方案包括:1)合并多次JOIN为单次聚合查询;2)添加索引优化窗口函数;3)避免字段函数转换;4)移除不必要的DISTINCT;5)分批次处理数据。优化后查询性能显著提升,执行时间从超时降至10秒内,临时表占用减少95%以上。适用于MySQL 5.7/8.0环境下的Java定时任务优化场景。
2025-11-12 18:03:23
1010
原创 OpenSearch Java 客户端“Request execution cancelled”问题深度解析
CancellationException: Request execution cancelled 并非你的代码逻辑错误,而是 OpenSearch Java 客户端在特定版本下的已知缺陷。稳定可靠的搜索服务,从正确的客户端开始。
2025-11-12 17:58:17
342
原创 MySQL原生账号权限管理
本文介绍了MySQL账号权限管理方案,将创建两个权限组:group_readonly(只读权限)和group_readwrite(读写权限)。group_readonly提供对业务库的查询权限,适用于开发、测试人员;group_readwrite在只读基础上增加DML操作权限,适用于应用支持和DevOps人员。方案详细说明了权限组的创建、权限分配、用户添加及维护流程,包括如何添加新用户和扩展数据库访问权限。实施步骤将从PreProd环境测试开始,验证后推广到Prod环境。最后为管理员账号授予权限管理能力,便
2025-11-06 13:30:12
232
原创 Windows 高强度密码本地生成
记录了一个密码生成工具的优化历程。从互联网上生成的密码容易被捕获,想着本地生成安全保险,生成之后自动复制,方便的一款密码生成插件。
2025-10-29 18:12:21
928
原创 记一次诡异的“偶发 404”排查:CDN 回源到 OSS 导致 REST API 失败
某生产环境REST API接口出现偶发404错误,时而返回JSON数据,时而返回OSS的XML错误。使用nslookup url 发现有多个A记录,更换后恢复。
2025-10-28 20:42:26
371
原创 一次RedisOOM 排查
【摘要】Redis服务器因存储过多key导致OOM异常。排查方案:1)导出所有key的内存占用数据,通过脚本统计每个key的大小;2)使用Excel对内存占用降序排序,定位大内存key;3)发现告警任务相关func key占用7G内存(总内存8G)。解决方案包括删除无用key或设置合理过期时间。通过数据分析,快速定位并解决了Redis内存爆满问题。
2025-10-23 13:18:33
294
原创 完整的 Flutter 开发环境搭建指南(2025-10最小化配置)
本文提供了Flutter开发环境的最小化配置方案,避免安装庞大的Android Studio。主要步骤包括:安装Flutter SDK并配置环境变量;仅安装必要的Android命令行工具和SDK组件;配置VS Code作为开发工具;设置Android模拟器。文章详细介绍了开发工作流程、VS Code中的关键功能、常用快捷键,以及常见问题的解决方法。这种配置方案在保证完整开发能力的同时,显著减少了系统资源占用,适合希望轻量化开发的用户。
2025-10-23 10:24:31
530
原创 记录一次 K8s 环境中 DNS 解析延迟导致 WebClient 请求失败的排查过程
本文记录了一次Kubernetes环境中WebClient请求失败的排查过程。问题表现为DNS解析延迟导致接口超时,经分析发现阿里云DNS配置了多个不可达的上游服务器。通过逐步验证CoreDNS日志、测试单个DNS节点性能,最终定位到DNS轮询策略导致请求被转发至故障节点。解决方案是清理无效的上游DNS配置,仅保留可用节点,使解析时间从829ms降至30ms。文章总结了关键结论:避免盲目配置多DNS节点、定期审计转发规则、监控解析延迟,并建议应用层增加容错机制。
2025-10-22 16:03:30
901
原创 人工智能(AIT)工具资源的全面概要列表
这份清单系统地整理了多个领域的AI工具,旨在为个人或专业用户提供高效的生产力解决方案。各种2025目前发展比较深入的AI工具整合,方便日常查找。
2025-10-21 22:21:38
442
原创 Java 在AWS上使用SDK凭证获取顺序
AWS凭证获取机制解析:DefaultCredentialsProvider提供了AWS SDK for Java的默认凭证获取链,按优先级依次从环境变量、Java系统属性、本地配置文件、ECS容器和EC2实例元数据服务中检索凭证。这种机制支持不同环境下的无缝切换,包括使用临时凭证。开发者可通过代码示例获取当前凭证信息,需注意临时凭证有效期、权限范围和网络配置等问题。该机制简化了凭证管理,是AWS应用开发的重要基础。
2025-10-14 15:50:10
570
原创 各大云厂商基础设施可视化程度
查看来源:https://registry.terraform.io/browse/providers。今天难得抽出点时间去看了一下各云厂商的基础设施即代码的占比。数据截止至:2025/03/14。
2025-03-14 17:13:55
247
原创 OpenSearch迁移方案
在企业级上百TB的磁盘数据,进行迁移OpenSearch时需要做得一些事情,这里简单进行记录一下,如果有需要迁移的同学可以私聊进行讨论。在迁移时采用AliCloud OSS做OpenSearch快照存储,进行新老集群的数据迁移。
2024-10-11 18:40:16
1500
原创 Git 版本管理
在企业级发布中,依托于 Git 强大的版本管理能力进行发布,但同时由于发布的复杂性,研发人员往往因复杂性而碍手碍脚,其实这其中是有迹可循的。
2024-08-23 14:11:28
1372
原创 Tech Stack Checklist
从 4 个方面描述推荐使用的软件、技术和云服务,如果引入新的或改用其他版本,请联系各自团队的架构和开发负责人进行讨论,并对改列表进行更新说明引入的考虑和主要原因。
2024-08-21 14:37:41
344
转载 Database Design Guide
MySQL 数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用 MySQL 数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL 编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。
2024-08-20 11:20:34
168
原创 Questions to ask developers before create pipeline
【code】Questions to ask developers before create pipeline。
2024-08-16 17:49:53
454
原创 EC2 VS EKS
在工作中会遇到各种部署方案正对业务组件的部署形式,部署方案的不断更迭中寻找“目前”最佳方案,需要不断去实践,最终找到最佳方案进行落地。
2024-03-26 16:21:34
1145
原创 多线程下同步TraceID
通过观测以上日志信息,线程内部已经获取到了 span 对象地址,但日志 pattern 部分并没有 Trace 信息输出,原因在于,DDTrace 对 logback 的getMDCPropertyMap()和 getMdc()方法做了插桩处理,将 Trace 信息 put 到 MDC 中。InheritableThreadLocal 扩展了 ThreadLocal,以提供从父线程到子线程的值继承:当创建子线程时,子线程接收父线程具有值的所有可继承线程局部变量的初始值。
2024-03-18 14:39:13
1152
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1