Seems like assumption is that multiple applications can have the same instance id. DiscoveryClient.getInstanceById() seems returning a list of instances for the id. You might want to find out why?