我们的生产应用场景中有一种情况,就是重启所有的Ignite Server时,那些原本连上的Ignite client也会断掉,但是就算之后Ignite Server重启后他们也不会重连,必须要重启才行。
这种情况就很麻烦,为了解决这种问题,经过一番摸索,发现只需要修改一个参数就可以实现这个逻辑。
就是客户端的TcpDiscoverySpi的NetworkTimeout
TcpDiscoverySpi spi = new TcpDiscoverySpi();
spi.setNetworkTimeout(Long.parseLong(System.getProperty("client_discovery_network_timeout")));
IgniteConfiguration.setDiscoverySpi(spi);
这样就可以了,因为我们的服务每周例行重启,所以我就将这个值设置成一星期,那么这一个星期内无论怎么重启Ignite server,client端都可以重连而不需要重启。
本文介绍了解决IgniteServer重启后IgniteClient无法自动重连的问题,通过调整TcpDiscoverySpi的NetworkTimeout参数,实现了服务重启期间的自动重连功能。
1551

被折叠的 条评论
为什么被折叠?



