谁应该在Consul中注册服务:应用程序或init系统?

问题描述 投票:2回答:1

想象一下,我有一个应该在Consul注册的应用程序。谁应该这样做:应用程序本身,或负责启动它的任何初始化系统?

例如,使用systemd,将服务注册放到ExecStartPost似乎是显而易见的。另一方面,让应用程序本身处理此任务可能更好。

哪一个是最佳做法?

consul service-discovery
1个回答
1
投票

实际上初始化系统无法知道一些具体的应用细节。所以在我看来,应用程序对它可以提供的服务了解得更多。所以他们应该在SD系统中注册。

例如:

app1注册为HTTP APIv1和APIv2服务,

app2注册为HTTP APIv3服务

app3仅注册HTTP Web服务

在这种情况下,您的应用程序可以更独立于特定的初始化系统。例如:systemdrunitubuntu initdocker-related

© www.soinside.com 2019 - 2024. All rights reserved.