The Discovery Root Trick
When you’re building modular systems, the trick isn’t hardcoding endpoints. It’s discovering them.
Microservices tend to drift into tight coupling over time. URLs are copied and pasted. Services assume specific locations. What should be dynamic becomes brittle.
I've recently wbeen working in a system of separate, but cooperative services designed around a single starting point: the discoveryRootURL. Each service only knows this one root. From there, it can find everything else it needs such as: supporting services, shared-state, job-control, etc. This design makes services portable, deployable in parallel environments, and able to safely evolve independently.
It’s a small shift in how services start but it changes how you scale, orchestrate, and reason about service lifecycles. Instead of building “calls” into your system, you build queries and maps.
Key Takeaway
The fewer things a service assumes, the more places it can belong. Discovery is the root of resilience.
Further Reading:
I talk more about the importance of discovery and context as a system foundation in Reimagining Agentic Systems