Round-robin at client

A2AClient lb = A2AClient.roundRobin(List.of(
    URI.create("https://agent-1.example.com/a2a"),
    URI.create("https://agent-2.example.com/a2a"),
    URI.create("https://agent-3.example.com/a2a")));
Advertisement

DNS-based (SRV records)

A2A client resolves SRV records, picks endpoints. Lets ops scale without redeploying callers.

Advertisement

Sticky on session_id

If the downstream keeps session state, hash session_id → replica. Otherwise you split conversations.