From Second Life Wiki
What the agent domain looks like
The Agent Domain handles everything that has to do with agents. It stores their profile data, their inventory, handles login etc. There are 3 parts inside the Agent Domain: Services, Hosts and Stores. There can be multiple instances of each part although to the outside they probably will look like one. It doesn't matter in the architecture. It simply can be as redundant, scalable as you need it.
The 3 parts of the agent domain
Agent Services handle stateless information about agents. This can e.g. be profile data. As it's stateless it can be cached and this information can be publically accessible. These will be web services.
Agent Hosts handle agents which are logged in. They are handling their sessions. Information handled here can be location of avatar, status, friends status etc. If the Agent Host you are on right now goes down you will be logged off.
The Agent Stores contain the actual data. They are basically databases which e.g. hold inventory data, profile information and so on. These stores can again be as redundant as one might want them to be.
All the rest
Not exactly sure here anymore but it might be mapping things, like on which agent host is which agent etc.
How login works
This is the first part of the login process. It's logging in to the agent domain, no region is involved yet.
- Viewer sends login information to the Agent Service
- The Agent Service queries the agent data from the Agent Store
- The Agent Service asks an Agent Host to initiate a session
- The Agent Host establishes a connection with the Viewer.