from hello_agents.protocols import ANPDiscovery, register_service import random # 创建服务发现中心 discovery = ANPDiscovery() # 注册多个相同类型的服务 for i in range(5): register_service( discovery=discovery, service_id=f"api_server_{i}", service_name=f"API服务器{i}", service_type="api", capabilities=["rest_api"], endpoint=f"http://api{i}:8000", metadata={"load": random.uniform(0.1, 0.9)} ) # 负载均衡函数 def get_best_server(): """选择负载最低的服务器""" servers = discovery.discover_services(service_type="api") if not servers: return None best = min(servers, key=lambda s: s.metadata.get("load", 1.0)) return best # 模拟请求分配 for i in range(10): server = get_best_server() print(f"请求 {i+1} -> {server.service_name} (负载: {server.metadata['load']:.2f})") # 更新负载(模拟) server.metadata["load"] += 0.1