My scenario: Config server and clients are configured as systemd services. VM running both config server and clients is restarted. Server and clients are started at almost the same time, leading to the clients requesting configuration before the server is ready.

As a config server, the server is supposed to be up and running before clients are able to access it.

With Linux' systemd one may define dependencies in the client's service file (After, Requires or Wants), but that only ensures that the config server ist started, if not running already. But it does not make systemd wait for the server being up before starting the clients.

Things like fail-fast and retry in the clients' boot.yml are workarounds at best, but not really a solution for so basic a task.

Comment From: ryanjbaxter

I disagree, retry is meant to address this exact use case, its not a workaround.

When it comes to starting the config server before the client, there is nothing we can do from a Spring Cloud perspective to ensure this. There are many platforms on which you can run a config server and client, and each platform would have its own way of running these applications. These are platform concerns and not necessarily concerns of the project. We just provide functionality so you can deal with the case where the config server is not running for whatever reason (retry, fail-fast).