2017-12-17 5 views
2

Stellen Sie sich vor, ich habe eine Anwendung, die in Consul registriert werden sollte. Wer sollte das eigentlich tun: die Anwendung selbst oder welches Initialisierungssystem, das dafür verantwortlich ist?Wer sollte einen Service in Consul registrieren: Anwendung oder Init-System?

Zum Beispiel, mit systemd scheint es offensichtlich, die Service-Registrierung auf ExecStartPost setzen. Auf der anderen Seite kann es besser sein, die Anwendung selbst diese Aufgabe zu übernehmen.

Welches ist die beste Praxis?

Antwort

1

Eigentlich Initialisierung System kann einige spezifische Details der Anwendung nicht kennen. Also meiner Meinung nach Anwendung weiß viel mehr über seine Dienste, die es zur Verfügung stellen kann. Sie sollten sich also im SD-System registrieren.

Zum Beispiel:

app1 registriert als HTTP APIv1 und APIv2 Dienstleistungen,

app2 registriert als HTTP APIv3 Service

app3 als nur für HTTP-Web-Dienst registriert

In diesem Fall Ihrer Anwendungen können unabhängiger von spezifischen Initialisierungssystemen sein. zB: systemd, runit, ubuntu init oder docker-related

Verwandte Themen