中级
实现最少连接数负载均衡
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
service_registry_csv = open_url(____).read()
import pandas as pd
from io import StringIO
registry = pd.read_csv(StringIO(____))
class LeastConnectionLB:
def __init__(____):
self.conns = {i['____']: int(____) for i in instances if i['____']=='____'}
def acquire(____):
if not self.conns: return None
iid = min(____)
self.conns[iid] += ____
return iid
def release(____):
if iid in self.conns: self.conns[iid] = max(____, self.conns[iid]-____)
order_insts = registry[registry['____']=='____'].to_dict(____)
lb = LeastConnectionLB(____)
print(____)
assigned = []
for i in range(____):
iid = lb.acquire()
assigned.append(____)
print(____)
print(____)
lb.release(____); lb.release(____)
print(____)
示例
输入
solve()
期望输出
初始连接数: {'order-1': 30, 'order-2': 22}
分配: ['order-2', 'order-2', 'order-2', 'order-2', 'order-2', 'order-2']
分配后连接数: {'order-1': 30, 'order-2': 28}
释放2个后: {'order-1': 30, 'order-2': 26}
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199