LeastConnections 从不记录活动连接
作者: dajiaohuang创建于 2026年9月18日更新于 2026年9月18日
在实现/java/load_balancing_algorithms/LeastConnections.java 中, getNextServer() 只读取 serverConnections, 从未增加所选服务器的活动连接数。该类暴露了 releaseConnection() 方法, 但没有匹配的 acquire 操作或选择后的增量操作。\n\n重现步骤:\n1. 使用 javac 编译该文件。\n2. 运行其包含的 main 方法。\n3. 输出显示连续六次选择 Server1, 尽管每次迭代都旨在表示一个新请求。\n\n预期行为: 选择服务器应与一个显式的 acquire 操作配对, 以增加其计数, 或者示例应文档化并实现所需的生命周期。否则, 最少连接策略无法根据活动连接来分配并发工作。\n\n通过不经历任何其他状态变化, 重复调用 getNextServer() 也可重现相同问题。
内容来源: ashishps1/awesome-system-design-resources