As far as I can tell, "service discovery" means a way for a client to find out about a server (or cluster of servers) that it wants to connect to.
I've built web applications that communicate with other back-end processes using protocols like HTTP and AMQP. In those, each client has a config file that contains a host name or whatever information it needs to connect to the server, which gets set at deployment time using a configuration tool like Ansible. That's simple and seems to work pretty well.
Is service discovery an alternative to just putting server information in a client's config file? If so, why is it better? If not, what problem does it solve?
question from:https://stackoverflow.com/questions/37148836/what-is-service-discovery-and-why-do-you-need-it