JAVA微服务之间通过feign调用,最近发现调用速度变慢了。
项目架构:
注册\配置中心nacos,接口间调用OpenFeign。
优化方案:
(1)尝试重启微服务,速度没有改善。
(2)尝试修改JVM启动参数
-Xms4096m,-Xmx4096m,-XX:MetaspaceSize=256m,-XX:MaxMetaspaceSize=256m
固定了堆初始就4G,最大也4G不扩容,元空间规定256M。
再次启动,发现速度依然没有改善。
(3)打开nacos配置,打开服务列表,发现其中一个服务有两个实例,应该是本地调试时不小心连接到线上的nacos的。当其它服务通过feign调用该服务时,nacos会遍历该服务的实例,因为其中一个实例是本地的,线上的nacos连不上,feign就会变慢。
把nacos注册的本地服务下线,再次尝试,feign速度正常了。
修改防火墙,限制nacos端口的外网访问。