RPC服务框架采用ETCD作为注册中心,某个服务的注册动作总是有50%概率报TimeoutException。
经查,ETCD集群状态正常,各节点服务器时间一致,并且其他采用相同版本框架的服务没有这个问题。
判断问题还是出在这个服务本身,用Eclipse的依赖树插件一查看,果然发现问题:
etcd4j包的版本虽然和其他服务一致,但是其底层依赖的jackson包本应该是2.7.0,却有其他依赖间接引入的2.3.0版本干扰之。
将2.3.0的jackson相关包exclude掉,问题解决。
该问题目前搜索不到相关资料,特此MEMO。