【发布时间】:2016-12-02 14:47:51
【问题描述】:
好吧,我是新手,我不知道该怎么做,所以请各位前辈帮忙!!!!
有一种情况描述如下:
HTTP 客户端正在发送直接命中负载均衡器的请求(请求可以是任何类型,与请求类型无关)。然后负载均衡器根据流量的负载将流量重定向到运行在两个 V440 服务器中的“网关”系统,GW 逻辑是用 Java 编写的,实际上逻辑上将此请求路由到另外两个实际处理请求的服务器节点.
现在的场景是这样的:从多个 HTTP 客户端与此网关建立了多个并行连接。每个客户端一个连接。据观察,在连接到此 GW 时,在某些客户端的情况下,CPU 利用率会达到 98-99%。
客户端正在与特定端口上的 GW 建立一个连接。打开一个套接字连接:
ServerSocket _ss = new ServerSocket(_port);
Socket s = _ss.accept();
然后 GW 等待来自客户端的输入。
现在我的问题是:
为什么会发生这种情况,看起来一切正常 对于其余的客户和那里的连接。 只有少数几个与 GW 建立连接的客户会造成这种情况?
我们是否可以跟踪此客户端的 IP,以便我们了解是否 每次都发生在同一个客户身上?
有解决办法吗?
【问题讨论】:
-
请相应地添加 cmets 我可能会编辑问题..谢谢 :)
-
提示:我会剪掉你图像的重要部分,这样你就可以删除它周围的所有空白区域。然后重新上传它,否则人们会否决你,我猜。
-
您使用的是哪个负载均衡器?会有http访问日志,如果您调整日志记录,您可以获得源IP、响应时间等
-
你不能。通常,您只会获取最近的代理或 NAT 设备的地址。
标签: java sockets server network-programming