Service Discovery Explained with code example