系统使用了多台前置机,前面用了radware做负载均衡,用户通过访问负载均衡地址访问应用,比如:负载均衡地址192.168.0.1,前置机应用地址:192.168.0.2:8081,192.168.0.2:8082,192.168.0.3:8081,192.168.0.3:8082,请问我如何能够获取用户真实访问的是哪台前置机的哪个端口的应用?
PS:应用使用java开发
java获取本机(服务器)网卡IP是很简单的事情,怎么获得端口就不知道了,
还有一个办法,在服务端放个txt文件,里面存着IP地址和端口,读一下就知道了:),不过维护时可要注意别搞错了
负载均衡对于客户端来说是透明的,除非由服务器返回这个信息,表明具体是路由到哪个服务器的。
我正好也有这个问题,我是在页尾加入ip来判断的:
[code="java"]out.println("server:" + InetAddress.getLocalHost().getHostAddress());
out.println("ip:" + InetAddress.getLocalHost().getHostAddress());[/code]
忘了说了,楼上的我只在web环境下,测试过,c/s环境不知道,可以吗