
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
背景公司业务用到对讲系统,采用FreeSWITCH自己搭对讲服务器。原本有一台对讲服务器部署在华为云,因为价格贵及经常受攻击的原因,要迁移到阿里云服务器。于是,运维人员在阿里云服务器部署一个FreeSWITCH,版本比原FreeSWITCH新,配置基本复制原FreeSWITCH。问题阿里云FreeSWITCH部署好后,我们发现局域网内2台对讲机可以相互呼通并通话,公网2台对讲机(比如一个在公...
背景ARMS是阿里云开发的一款收费实时监控服务。因为价格较贵,我们只在测试环境尝试使用ARMS,主要验证引入ARMS对系统是否有影响、是否有助于监控系统及定位问题。在生产环境,我们没有使用ARMS。最近2天,我们收到测试环境阿里云告警,某个Java应用程序出现死锁。接下来,我尝试定位死锁的原因。定位过程首先,通过jstack -l PID命令输出程序堆栈信息及死锁信息。死锁信息如下,...
问题我们后端开发人员在实现业务修改时,经常需要更新数据库表结构,如增加字段、修改字段长度等等。那么对于MySQL数据库,哪些表结构操作会“锁表”,会导致读写表中数据操作不能并发执行呢?背景知识DML( data manipulation language),数据操作语句,是中INSERT、UPDATE、DELETE、SELECT等表数据操作的语句。DDL( data definition lang
背景生产环境有个关键应用所有节点,每隔几个月就会发生一次Druid连接池耗尽问题,重启后恢复正常。目前我们还没有定位到问题原因,这边文章主要记录定位过程的一些思路和方法,后续如果找到根本原因,再做更新。思路数据库方向应用连接池耗尽1、会不会是应用与数据库的连接没有正常断开?查看故障时数据库socket连接情况,没有发现。2、会不会是应用执行了很多慢sql?查看故障时数据库慢sql日志,没有发现。3
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,是...