docs: add multi-agent reference architecture - #1030
Open
malladinagarjuna2 wants to merge 2 commits into
Open
Conversation
This provides a reference architecture for deploying multiple agents within a single Quarkus application. Fixes a2aproject#898
kabir
requested changes
Aug 11, 2026
kabir
left a comment
Collaborator
There was a problem hiding this comment.
Thanks for the PR :-)
Before we merge, I think we can take a better approach. Rather than documenting the low-level Vert.x wiring as pseudocode in a docs page, it could perhaps be more useful to add an actual utility class/method to the SDK that handles multi-agent registration. Then the docs page just shows how to use it.
A few reasons:
- The current code example is incomplete — the JSON-RPC handler route body is // ..., and manually constructing a JSONRPCHandler outside CDI is non-trivial. A utility would encapsulate that complexity.
- It's JSON-RPC-only — the same pattern applies to gRPC and REST transports. A utility can abstract across all three.
- It's testable — unlike documentation pseudocode, a utility class can have tests to make sure it actually works.
- Title inconsistency — the page says "Multi-Agent Deployments" but the menu says "Multi-Agent Scaling" (minor, but worth aligning).
Also, @mescaja shared a complementary approach on #898 (comment) using
database-backed agent cards and @PathParam. I've not looked enough to see if that is also something that is possible to pull into this utility.
The ideal outcome would be:
- A utility in the SDK that makes multi-agent setup easy
- A short docs page showing how to use it
What do you think?
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds a reference architecture documentation page detailing how to scale A2A Server Agents by hosting multiple distinct agents within a single Quarkus application.
Fixes #898
The Problem
Deploying a single agent per Quarkus app (1:1 mapping to kubernetes pods) incurs significant operational overhead and resource consumption when the number of agents grows into the hundreds. Users needed official guidance and a reference architecture for deploying multiple
AgentCards and JSON-RPC handlers from a single application platform.The Solution
Added a dedicated
Multi-Agent Scalingpage to the documentation site. The guide explains how to bypass the default@ApplicationScopedsingletons and manually register Vert.x routing paths for individual agents (e.g.,/{agentId}/.well-known/agent-card.json), allowing a single app to dynamically host an unlimited number of agents with minimal overhead.