spring 云领事服务名称

spring cloud consul service names

我正在将我所有的服务基础设施从 eureka 切换到 consul。

在尤里卡案例中,我有多个同名服务,尤里卡通过应用程序和实例来处理这个问题。

在 consul 的情况下,如果我有这个命名方案,spring cloud 会在 eh covers 下生成唯一的 ID 吗?

我读到 consul 将 id 和 name 同义使用的地方,除非你在唯一的 id 下注册它们。

因此您可以将服务 1 作为 (name=myservice, id=xxx),将服务 2 作为 (name=myservice, id=yyy)。

所以 consul 以这种方式保持了唯一性。 spring 云在幕后做什么?


好的,看来问题没说清楚。

我知道我可以在定义它们时指定唯一性,但我没有

我有一个基于微服务的大型生产系统。我们有多个微服务用于冗余和扩展,我们没有专门为服务设置唯一性。

我们没有,因为 Eureka 为我们做了这件事。假设我有一个包含 5 个实例的 CustomerAccountService,那么当我请求客户帐户服务时,我可以看到 5 个实例。查看 Eureka 数据模型,我们看到一个应用程序和它的 5 个实例。

所以我打算转到 consul 并希望保留类似的操作模式。许多实例同时服务。

我真正想知道的是 spring consul 注册是如何在幕后运作的,或者我是否必须为此做一些特别的事情。

我知道 COnsul 定义了名称和 ID,它们可以相同也可以不同。

那么我可以让 5 个实例的名称相同并且 ID 不同吗?如果是这样,这在 spring 云领事版本中是如何发生的。

任何使用 Spring Cloud 在 Consul 中注册相同 spring.application.name 的应用程序将像 Eureka 一样分组在一起。