springCloud线上环境调用其它服务报错:401(权限认证不通过)问题记录
描述
项目为spring cloud项目,使用nacos对配置文件进行管理配置。
场景:A服务需要调用B服务中对外暴露的通过客户id获取客户信息的接口,
该接口直接查询数据库。
问题出现:本地环境调试无误,部署到测试服务器上报错为权限认证失败(401),推测原因是Feign调用的特殊情况(不能确定),确认过两个服务是在同一个命名空间内。
处理方法
在B服务中创建一个定时任务,当项目启动以及每过4小时就更新一次redis缓存(把之前存在的客户信息删除,再查询数据库存入新的信息),A服务中直接从缓存里获取客户信息,不用再调接口了,直接从根源上解决问题哈哈哈。同时也减少了访问数据库的频率,一举两得。