[置顶] 记:针对框架级别的bug如何高效排查及如何修复

摘要: 笔记最近从事公司混沌工程平台的搭建及研发工作。在平台研发及用户使用过程中发现了大量的框架级别的bug。并修复大量bug,并对插件做了扩展。 平台是基于阿里开源的chaosblade框架搭建而成。我选取了一个典型的故障排查过程作为故障排查思路总结 一:基于jdk11版本的jvm下的脚本故障注入失败 在 阅读全文

posted @ 2023-07-21 11:26 贝克田庄 阅读(61) 评论(0) 推荐(0) 编辑

[置顶] 一次线上故障:数据库连接池泄露后的思考

摘要: 一:初步排查 早上作为能效平台系统的使用高峰期,系统负载通常比其它时间段更大一些,某个时间段会有大量用户登录。当天系统开始有用户报障,发布系统线上无法构建发布,然后后续有用户不能登录系统,系统发生假死,当然系统不是真的宕机,而是所有和数据库有关的连接都被阻塞,随后查看日志发现有大量报错。 和数据库连 阅读全文

posted @ 2019-12-25 09:18 贝克田庄 阅读(3961) 评论(3) 推荐(3) 编辑

[置顶] 记一次性能优化(线程相关)

摘要: 最近一直在负责业务监控告警相关的开发;由于组织架构调整,从原来的服务端架构组分离出来成立工程效率组,很多原来不是我们组负责的项目也开始陆续交接到了我们手里; 以前一直由业务部门负责开发的sensoragent项目就是由我来交接,交接的时候才发现有很多问题,该应用是业务部门用来从MQ消费消息往神策发送 阅读全文

posted @ 2019-01-15 21:51 贝克田庄 阅读(760) 评论(3) 推荐(4) 编辑

2023年8月31日

基于jvm-sandbox实现一个简单功能的全链路压测agent

摘要: 目前我们已知chaosblade-exec-jvm是基于jvm-sandbox开发的混沌工程注入工具,我们可以基于jvm-sandbox创建一些其他的工具agent:流量回放agent、全链路压测agent等等 接下来我会用完全的代码实现一个可以流量透传、mock挡板、影子表数据落地等功能的压测ag 阅读全文

posted @ 2023-08-31 20:22 贝克田庄 阅读(227) 评论(0) 推荐(0) 编辑

2023年7月28日

sandbox下的内存泄露问题

摘要: 情况一:使用了ProcessControl 特性,shutdown无法释放SandboxClassLoader分析:EventListenerHandlers.handleEvent中的catch (ProcessControlException pce) {final EventProcessor 阅读全文

posted @ 2023-07-28 15:52 贝克田庄 阅读(39) 评论(0) 推荐(0) 编辑

2021年7月27日

flink sink 批量下层数据时 ,数据"丢失"?

摘要: flink作为目前很火的大数据框架,在实时计算和离线计算场景下有大量应用 图片来源{https://ci.apache.org/projects/flink/flink-docs-release-1.11/learn-flink/} 从图中可以看出,flink在处理数据中有三大块:source op 阅读全文

posted @ 2021-07-27 21:43 贝克田庄 阅读(138) 评论(0) 推荐(0) 编辑

2019年9月12日

改进持续交付中的CI环节

摘要: 改进持续交付中的CI环节 在当前 DevOps 的趋势下,持续集成(CI)和持续部署(CD)具有支柱性地位,那么能够成功搭建 CI/CD 流水线就至关重要了。 今天我就讲一讲如何做好CI部分,让我们的的整个流水线更加的清晰和敏捷 如下图是整个CI/CD的部分,当然我们可以根据企业需求扩展CI或者CD 阅读全文

posted @ 2019-09-12 09:34 贝克田庄 阅读(752) 评论(0) 推荐(0) 编辑

2019年8月5日

CompletableFuture提高你并发编程能力

摘要: 思考:如果有两个顺序执行耗时的方法,你该怎么做??? 例如: 没错,聪明如我的你肯定已经想到了,利用两个线程可以轻松的解决这个问题。于是你我这样做: 是的解决了这个问题,提高了效率 看到这里,相信你应该就能理解异步编程最近几年为什么会大火了,因为优化性能是互联网大厂的一个核心需求啊。Java 在 1 阅读全文

posted @ 2019-08-05 22:04 贝克田庄 阅读(312) 评论(0) 推荐(0) 编辑

2019年7月4日

项目集成swagger,并暴露指定端点给swagger

摘要: 项目集成swagger 一:思考: 1.swagger解决了我们什么问题? 2.除了用于接口测试,我们还能利用它做些什么有意义的事呢? 例如:我现在有一个需求,是每天早上7点的时候,对昨日告警发送一个统计日报,最简单的做法是引入@schedule(cron="0 0 7 * * ?") 问题的根源在 阅读全文

posted @ 2019-07-04 20:34 贝克田庄 阅读(1425) 评论(0) 推荐(0) 编辑

2019年2月24日

spring boot starter开发

摘要: 作为公司的技术保障部,一直承担着技术方向的把控,最近公司准备全面转入spring boot的开发。所以我们部门也一直在调研相关的技术知识点; 使用springboot开发应用已经有一段时间了,我们都沉醉于它简洁的配置和平滑的上手曲线。 在springboot的开发中,starter是一个核心的配置, 阅读全文

posted @ 2019-02-24 21:35 贝克田庄 阅读(276) 评论(0) 推荐(0) 编辑

导航