Core interface

public interface AgentRegistry {
  void register(AgentDescriptor descriptor);
  Optional lookup(String name);
  List findByCapability(String cap);
  void deregister(String name);
}
Advertisement

What a descriptor holds

  • Name (unique)
  • Endpoint URL
  • Capabilities list
  • Version
  • Health status
  • Metadata (owner, tags, etc.)
Advertisement

Backing stores

In-memory for single-process. Redis/etcd for HA. DynamoDB or Postgres for durability. Choose based on scale + churn rate.

Registration lifecycle

Agent registers on boot. Heartbeats every N seconds. Auto-deregisters after 3 missed heartbeats. Prevents zombies.