This looks off to me. I would think we'd need to maintain the list of all instances in addition to a filtered "preferred" instances list. Here's my thinking:
1. Web server in zone A is connected to rabbit in Zone E - this is the happy state
2. The rabbit server in E crashes, now the web server will attempt to re-connect to a new server. My understanding of this logic is that until Eureka picks up on the crashed rabbit node in E the web server in A will not be able to connect to anything because it still thinks the rabbit node in E is alive (even though the web server knows it cannot connect) and so therefore _instances will always just be that single node... until Eureka updates.

Does that sound correct?