2

如何使用 HttpServletRequest 中的信息识别集群中的节点?

每个节点唯一的任何信息都是合适的——我需要它来区分日志。

4

3 回答 3

3

您可以尝试获取IPandhostname

// Get client's IP address
String ipAddress = request.getRemoteAddr(); // ip

// Get client's hostname
String hostname = request.getRemoteHost(); // hostname

如果它没有提供您想要的,我会打印所有请求标头并查看是否有唯一标识符

例如,某些服务器会添加x-forwarded-for,或者X_FORWARDED_FOR如果请求通过代理

于 2013-02-05T16:03:43.037 回答
1

添加一个系统变量-Dnode.id=1,然后你可以访问它System.getProperty("node.id")

于 2013-02-05T16:01:00.910 回答
1

java.net.InetAddress.getLocalHost()会给你提供服务的主机的名字。这能得到你所需要的吗?

于 2013-02-05T16:01:13.033 回答