My office is currently working on distributed (micro) services, as part of this we obviously have Service Discovery between these services so that they are aware of each others locations (when they need to be).

Possible Issue

It has been discussed that we could additionally have what I have coined Object Discovery, where instead of Service A asking for Service B to make the request to /endpoint/foo- we could instead have a discovery procedure for Foo itself so that you just directly ask for the object (with our discovery resolving what that object means through Service B/endpoint).

This seems like a step too far to me, and although it could be a good helper, because the API for Service B guarantees the interface for /endpoint/foo already, the arguments for having this additional Discovery layer (decoupling, which I don't particularly see it as) seems like superfluous abstraction to me.

It just seems like it would be rife with namespace conflicts, and make it more difficult to read a Service and reference that Service's APIs that it consumes when they're a few layers deep behind a centralised Discovery layer.


Am I wrong? Is this a known pattern?

  • Are you reinventing CORBA? Because that probably counts as a known pattern, but possibly of the "anti" variety.
    – Useless
    Nov 4, 2022 at 14:56
  • Hah hopefully not. Perhaps "object" was a misleading term, but it still seems like the best description. I'm taking the incredulity as support of my notion this is a bit beyond the pale.
    – jmcgrory
    Nov 4, 2022 at 15:03
  • 1
    You gave Foo an URL. I'd argue that resolving this URL is exactly that discovery procedure. You could give Foo some other URI or UUID, but resolving it would require some service, and at that point you're close to re-inventing HTTP or DNS or both.
    – amon
    Nov 4, 2022 at 17:21
  • So a kind of distributed OODB?
    – Christophe
    Nov 5, 2022 at 17:23
  • As per amon's comment, It sounds as if the concept being described here is simply REST - ics.uci.edu/~fielding/pubs/dissertation/… Nov 6, 2022 at 9:51


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.