前言 之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。 直到有一天你会碰到线上奇奇怪怪的问题,如: 线程执行一个任务迟迟没有返回,应用假死。 接口响应缓慢,甚至请求超时。 CPU 高负载运行。 这类问题并不 ...
一.背景 我们经常聊到dubbo的启动,是如何暴露接口的,如何注册到注册中心的,但是就一个完整的生命周期而言,有上线就必然有下线,而下线这一部分往往被人忽略,这次就一次线上发布问题为入口,来分析dubbo下线的过程和其中遇到的问题,从另一个方面加深dubbo整个生命周期的理解。 二.案例 某次生产发布,虽是对外停机发布,一般内部来讲,仍采用的是蓝绿发布,即先新起服务,等新的服务健康检查通过后,在杀 ...
2021-05-31 17:41 0 1115 推荐指数:
前言 之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。 直到有一天你会碰到线上奇奇怪怪的问题,如: 线程执行一个任务迟迟没有返回,应用假死。 接口响应缓慢,甚至请求超时。 CPU 高负载运行。 这类问题并不 ...
线上报来一个问题,说用户的数据丢失了。开发经过紧张的调查。终于找到了原因。 问题出在了 if 中的比较上。 values[rowIndex] 中保存的是一个整数,开发认为两个整数比较实用 == 就可以了。 但是 values[rowIndex] 中的整数 ...
之前同事反馈说线上遇到Redis反序列化异常问题,异常如下: 已知信息如下: 该异常不是必现的,偶尔才会出现; 出现该异常后重启应用或者过一会就好了; 序列化协议使用了hessian。 因为偶尔出现,首先看了报异常那块业务逻辑是不是有问题,看了一遍也发现 ...
问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后,现网机器出现了Full GC告警,同时CPU飙高99%。在优先恢复现网服务正常后,开始着手定位Full GC的问题。在现场只能够抓到四个GC线程占用了很高的CPU,无法抓到引发Full GC的线程。查看了服务故障期间的错误 ...
开发一个跨平台的项目的时候,大部分时候都是在VS下进行编码,所以也就使用了VS的解决方案来管理项目。 因为要跨平台,当时网上看scons这个工具不错,所以在linux下就使用了scons来作为编译脚本 ...
文/朱季谦 Dubbo如何实现优雅下线? 这个问题困扰了我一阵,既然有优雅下线这种说法,那么,是否有非优雅下线的说法呢? 这,还真有。 可以从linux进程关闭说起,其实,我们经常使用到杀进程的指令背后,就涉及到是否优雅下线的理念。 在日常开发当中,经常用到kill来关掉正在运行的进程 ...
线上某dubbo服务A调用dubbo服务B的接口X方法,调用端A日志中出现了很多超时的情况,提供端B该接口X超时时间设置为60s; 查看提供端B的日志,报了很多线程池满的异常: 服务B部署了4个节点,仅1个节点有线程池满情况; 服务B的dubbo配置如下,线程池固定700个线程 ...
背景 2018年8月15号下午6点左右一个我们服务的调用方通知我们他们在调用服务接口时出现了大量的异常和通知,并且错误返回值都是“显示未设置结束日期” 问题定位 收到调用方的消息后,我立即展开了问题的排查 1、通过服务管理平台查看服务是否出现超时及比对今天和昨天接口整体的响应 ...