From fa7f025cc2968e5ff11fcd904c1035f584f962d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=BE=89?= <1101635162@qq.com> Date: Fri, 20 Dec 2024 16:40:50 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20node=E6=9D=83=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/b3log/symphony/processor/ChatroomProcessor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/b3log/symphony/processor/ChatroomProcessor.java b/src/main/java/org/b3log/symphony/processor/ChatroomProcessor.java index d1f1165b..b31853ec 100644 --- a/src/main/java/org/b3log/symphony/processor/ChatroomProcessor.java +++ b/src/main/java/org/b3log/symphony/processor/ChatroomProcessor.java @@ -327,10 +327,12 @@ public void getNode(final RequestContext context) { .append(", 期望客户端数: ").append(String.format("%.2f", expectedClients)) .append(", 比值: ").append(String.format("%.2f", ratio)).append("\n"); - // 选择比值最小的节点 - if (selectedNode == null || ratio < selectedNode.getValue()) { + // 选择比值最小的节点,比值相同时,选择权重更高的节点 + if (selectedNode == null || ratio < selectedNode.getValue() || + (ratio == selectedNode.getValue() && weight > NodeUtil.nodeWeights.get(selectedNode.getKey()))) { selectedNode = new AbstractMap.SimpleEntry<>(node, ratio); } + } // 分配选中的节点