如何使用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