中级
实现轮询负载均衡算法
未完成
中级参考
代码结构已给出,请填写 ____ 处
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 RoundRobinLB:
def __init__(____):
self.instances = [i for i in instances if i['____']=='____']
self.idx = ____
def next(____):
if not self.instances: return None
inst = self.instances[self.idx % len(____)]
self.idx += ____
return inst
for svc_name in registry['____'].unique():
instances = registry[registry['____']==svc_name].to_dict(____)
lb = RoundRobinLB(____)
print(____)
for i in range(____):
inst = lb.next()
print(____)
示例
输入
solve()
期望输出
user-service (healthy=3): req[1] -> user-1 req[2] -> user-2 req[3] -> user-3 req[4] -> user-1 product-service (healthy=2): req[1] -> prod-1 req[2] -> prod-3 req[3] -> prod-1 req[4] -> prod-3 order-service (healthy=2): req[1] -> order-1 req[2] -> order-2 req[3] -> order-1 req[4] -> order-2 payment-service (healthy=2): req[1] -> pay-1 req[2] -> pay-2 req[3] -> pay-1 req[4] -> pay-2 search-service (healthy=2): req[1] -> search-1 req[2] -> search-2 req[3] -> search-1 req[4] -> search-2
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199