因为服务重启后, 能够恢复正常, 基本可以排除网络和中间件的原因, 初步判断还是服务本身有问题.
3.出问题时, 包括健康检查在内的所有请求都是无法正常返回的, 直到客户端超时为止;
但进程还在, 服务处于假死状态中了...~~
Redis是使用的连接池的配置, 不应该有连接资源获取不到的情况, 不合理!!...有关的地方都过一遍.
(1) 首先, Redis池的配置, 通用配置, 出问题的可能性较小;
spring.Redis.cluster.nodes[0]=127.0.0.1:9000
spring.Redis.cluster.nodes...;
2.本地的集成测试时, Redis也只使用单点模式, 池资源相关问题很难被发现;
3.这段代码在多次重复调用后才会出现资源耗尽问题, 也很难发现问题;
4.涉及到的方法并不是主要逻辑范围, 代码review...总结下:
1.在遇到使用连接资源的时候一定要和释放资源成对出现, 养成良好的编程习惯;
2.遇到问题, 不要慌, 尽量多的收集信息, 抽丝剥茧, 分析出有用的信息;
3.平时多做积累, 遇到问题可以从多个方面着手