Here’s a thought that wouldn’t fit into a tweet and will serve the purpose of breaking my blogging dry spell. With all the attention that microservices is currently receiving, I regularly hear people talking about service discovery. When trying to coordinate multiple different services working together, it is critical to be able to dynamically configure which services will perform what services, for which consumers.
Before spending too much time architecting a “service discovery service” to allow services to discover other services, consider taking one of my favourite pieces of advice. What would a web browser do?
When you visit <insert site here> in the morning for your daily dose of internet intellectual fodder, how does your web browser discover what CDN to use, what ad provider, what analytics tracking service, what error logging service?
Including links in content that point to the services to be used and using link relations types to identify the purpose of those links, provide a truly decentralized service discovery mechanism for microservices that requires minimal effort.