最近我在测试搭一个ehcache缓存的集群的springboot接口,用的是手动的RMI配置方式,一共两个windows server节点,ehcache.xml配置文件:
节点A配置:211.87.227.226 监听的端口号:8021
节点B配置:211.87.227.223 监听的端口号:8020
两个节点的相同的配置:
然后将两个接口程序打包分别发布到两个server上启动后,经测试,A中添加的缓存没有同步到B中,反过来也是一样,
我觉得可能是8020和8021防火墙端口没开的原因,然后分别在A和B防火墙中打开8021和8020端口后,再次测试,
还是无法同步。
于是当我把A端的防火墙关掉或者打开A端的所有本地端口后,B中添加的缓存就能同步到A中,同样把B端的防火墙关掉或者打开B端的所有本地端口后,A中添加的缓存就能同步到B中。
注:我的接口开发环境是:springboot2.0.5.RELEASE、ehcache-2.10.5、java1.8.0_131,两台服务器均是学校内网,
我在网上找了很长时间没有找到问题在哪里,想向大家请教几个问题:
1:请问使用RMI方式集群同步ehcache该怎么打通防火墙呀??
2:如果是端口的问题,那么我打开了8021和8020端口后为什么还是无法同步??难道配置的8021和8020不是真正的RMI通信的端口??那配置这个端口号有什么用??
3:为什么必须打开所有端口或者关掉防火墙后才能正常同步??
4:请问大家过类似的经验吗??可否给予一些指导,或者有直接的解决方案就更好了。