>>> What's the best thing to do if we go to this mode by having no discovery servers? Just accept that Eureka won't self-register?

Its a good question. In order to understand the implications, let us understand it both from the client and server perspective.

### Client

If there are no servers available then this means two things:
- It is a misconfiguration and hence this situation should result in a fast failure (abort app startup)
- It is a valid scenario (primarily when this client is inside a eureka server) and the client is not required to be initialized. Ideally we should be able to turn off client initialization OR have a NoOpClient which does not do any registry lookups.

Considering the current design, it is non-trivial to not initialize the client. So, I would go with accepting that its just valid to have no eureka servers configured. We should add a property which forces fast fail in such scenarios. For the sample application we can set this property to false but the client defaults it to true.

### Server

In this case, the server list serves two purposes:

- Identify peers: In this case, no peer list, means no replication.
- Identify itself to register itself: Ideally I would like eureka server to register with itself by making an in memory call rather than over HTTP. However, it requires more work with little benefits. So, I think its ok to just ignore it. The property based fast-fail in client described above will act as a safety net here.