问题描述:生产者与消费者在同一台云服务器上可以正常互相访问,但是放在两台服务器上却访问不了(会报连接超时)
问题原因:生产者在注册中心找寻生产者时,zookeeper将dubbo服生产者的内网ip给了消费者,但是对于生产者来说这个内网ip是不能访问的。所有才会出现这个问题
问题解决:在生产者所在服务器的/etc/hosts文件中加入 153.125.36.156 hostname
153.125.36.156是该服务器的公网ip(这个ip是瞎写的) hostname是该服务器的主机名,可以在命令行输入hostname获取,想要修改的话可以修改/etc/sysconfig/network里面的HOSTNAME的值,之后重启zookeeper,重启生产者再重启消费者。问题就解决了
zookeeper里面的server.A=B:C:D这个B最好跟hostname一致