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