简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
背景生产环境有个关键应用所有节点,每隔几个月就会发生一次Druid连接池耗尽问题,重启后恢复正常。目前我们还没有定位到问题原因,这边文章主要记录定位过程的一些思路和方法,后续如果找到根本原因,再做更新。思路数据库方向应用连接池耗尽1、会不会是应用与数据库的连接没有正常断开?查看故障时数据库socket连接情况,没有发现。2、会不会是应用执行了很多慢sql?查看故障时数据库慢sql日志,没有发现。3
接下来,我发现应用日志有些问题:输出这个异常日志的应用,并不是它报这个异常,而是它发起http请求其他应用,其他应用返回这个异常,真正有异常的是这些应用。通过查询日志服务,发现增加响应码500过滤后,今天虽然没有日志,但昨天有日志,同时还发现昨天的日志都是同一个K8S的worker节点上应用输出。这么多应用一起报这个异常,核心应用和非核心应用都有,而且这些应用并不在同一个调用链路上,所以判断和这些
alias简化k8s命令,节约生命日常运维中,我经常用到k8s命令,每次输入kubectl -nmynamespace get pod -o wide | grep xxx,很费时间。浪费时间等于浪费生命,所以总结了一些日常用的command,整成alias。如下,供大家参考。#kubectl命令alias k8s='kubectl'#常用namespace访问。注意yournm要改成你的name
背景我们公司系统采用微服务架构,每次提交代码自动利用Jenkins构建成Docker镜像推送到Harbor私服,然后部署到K8S环境。我们的持续集成环境Jenkins、Nexus和Harbor都部署在一台服务器上。问题过年放假回来,我发现Jenkins构建非常慢。分析过程首先,我怀疑是不是硬盘满了。通过df -h命令查看文件系统容量已用可用 ...
Docker环境undertow线程数不足问题探究背景上篇Docker环境Spring Boot应用大量http请求超时,我们找到大量http请求超时原因:undertow的工作线程不足。留下一些疑问:undertow默认配置是怎样的?为什么其他微服务也使用默认参数,却有256个工作线程?结论k8s调度启动容器默认分配的cpu资源很小和OpenJDK 1.8.0_181会感知容器资源限制...
背景我们的产品人员用Axure做产品原型,通过Axure Share共享给项目组成员访问。但Axure Share的服务器在美国,国内访问很慢,特别影响工作效率。解决方案Axure可以将原型导出成html,这个html其实是一个静态网站,本地直接浏览器打开可以正常访问。那么我们可以自己搭建网站服务实现产品原型共享。关键是要打通整个流程,让产品人员只做少量的操作就可以实现原型共享。组件git仓库软件
Jenkins利用k8s集群实现动态Slave并发构建环境Jenkins Master采用war包直接jar -jar jenkins.war本地服务器运行Jenkins安装Kubernetes Plugin插件K8S集群正常设置Jenkins -> Configure System -> “云” -> kubernetes相关配置。问题不能并发创建Slave Po...
背景系统采用Spring Cloud Stream框架集成Kafka来实现异步消息。问题客户端消费某个topic消息出错时,会连续输出这个消息内容3次,同时没有提交offset。当有大量消息出错时,topic出现消息积压。分析首先,我们知道实现异步消息的系统架构一般包含3个部分:生产者Producer、消息中间件Broker、消费者Consumer。其中,消息中间件Broker,是...
MySQL select count(0)语句返回null问题为什么返回null呢?正常情况下,select count(0)会返回0。但当sql语句命中索引时,MySQL会先检查索引;如果没有命中任何数据,就返回null。而且这种sql语句,使用explain命令也不会输出执行计划,会直接显示执行结果。有什么影响?这个问题,可能在mybatis的xml文件和Mapper类返回类型不一致时...
背景生产环境有个关键应用所有节点,每隔几个月就会发生一次Druid连接池耗尽问题,重启后恢复正常。目前我们还没有定位到问题原因,这边文章主要记录定位过程的一些思路和方法,后续如果找到根本原因,再做更新。思路数据库方向应用连接池耗尽1、会不会是应用与数据库的连接没有正常断开?查看故障时数据库socket连接情况,没有发现。2、会不会是应用执行了很多慢sql?查看故障时数据库慢sql日志,没有发现。3