如何使用 HttpServletRequest 中的信息识别集群中的节点?
每个节点唯一的任何信息都是合适的——我需要它来区分日志。
如何使用 HttpServletRequest 中的信息识别集群中的节点?
每个节点唯一的任何信息都是合适的——我需要它来区分日志。
您可以尝试获取IP
andhostname
// 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
如果请求通过代理
添加一个系统变量-Dnode.id=1
,然后你可以访问它System.getProperty("node.id")
。
java.net.InetAddress.getLocalHost()
会给你提供服务的主机的名字。这能得到你所需要的吗?