服务配置文件连接信息错误,导致线上服务连接到测试环境数据库

本文记录了一次由于本地配置文件错误连接到测试环境redis,造成企业用户服务全面中断的故障。故障表现为上游服务无法调用,心跳接口失效。在redis测试环境恢复和服务重新部署后,服务恢复正常。问题根源在于配置文件错误。为防止类似问题,提出了使用Consul作为配置中心,规范配置文件管理,加强心跳检测机制,并强调测试环境与生产环境的隔离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、【影响范围】
企业用户服务不可用,影响到所有跟跨企业相关的功能和接口

二、【故障表现】
上游服务无法调用企业用户服务,从pinpoint上看,心跳接口无法响应

三、【处理过程】
测试环境redis恢复后,服务自动恢复;
删除企业用户服务中的redis相关依赖和本地配置文件中的redis配置,重新部署服务;
四、【原因分析】
在本地配置文件中,redis连接错误配置到了测试环境,consul中并没有做相关配置,服务中也没有使用redis功能。测试环境心跳不可用导致服务不可用

五、【改进措施】

1、使用consul作为配置中心统一管理微服务的配置文件
工程中至少提供以下5个配置文件,所有配置文件必需带上-{profile}后缀:
application-local.properties(可选,本地开发的时候使用)
bootstrap-local.properties(可选,本地开发的时候使用)
bootstrap-dev.properties(开发环境)
bootstrap-test.properties(测试环境)
bootstrap-production.properties(生产环境)
其中:
bootstrap-{profile}.properties是各个环境必需的,spring在启动时会去读对应{profile}的配置,不允许有默认配置文件bootstrap.properties。
application-{profile}.properties只允许有application-local.properties,不允许有默认配置文件application.properties和其他环境的的配置文件,其他环境的配置全量放在配置中心上

2、心跳不通过监控机制;(心跳检测接口返回的详细信息需要有效利用,比如返回了redis是否正常); @运维

3、测试环境和生产环境隔离,可在上线第一时间发现问题; @运维

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值