← 返回题库
中级

实现轮询负载均衡算法

未完成
中级参考 代码结构已给出,请填写 ____ 处
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
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码