Skip to content

using discovery

chengyouling edited this page Aug 20, 2024 · 3 revisions

服务注册发现

服务注册和发现是两个独立的功能,Spring Cloud提供了 ServiceRegistry 管理服务注册,提供了 DiscoveryClientReactiveDiscoveryClient 管理服务发现。 ServiceRegistry 只能存在一个实现,但是DiscoveryClientReactiveDiscoveryClient 可以有多个实现。

服务注册

服务注册一般需要使用注册中心。 可以参考:

微服务依赖和boostrap配置

集成和使用 ServiceComb 或者 Nacos 服务注册

服务发现

Spring Cloud的服务发现支持多个实现,Spring Cloud Huawei默认包含 simple, servicecombmesh 3个实现。 当存在多个注册发现的时候,会根据 order 进行排序, 优先使用 order 小的注册发现,如果没找到就找下一个。 默认情况下只有servicecomb工作,使用 servicecomb发现只需要启用注册即可。 每个注册发现都提供了 enabled 属性关闭和开启功能,order来定义他们的优先级。

下面列举一些其他常见的使用注册发现的场景。

使用 ServiceComb 或者 Nacos 服务发现

使用注册中心是最常见的服务发现方式。 可以参考:

微服务依赖和boostrap配置

集成和使用 ServiceComb 或者 Nacos 服务发现

使用 mesh 方式发现服务

在使用 Service Mesh 的场景,微服务会将所有请求发到代理,由代理做服务发现,这个时候,可以使用 mesh 注册发现:

spring:
  cloud:
    discovery:
      client:
        mesh: 
          enabled: true
          order: 200
          host: 127.0.0.1
          port: 8080

使用 mesh 注册发现的场景,通常会关闭 servicecomb 注册发现。

Clone this wiki locally