nacos 怎么配置不同命名空间的服务互相调用?
两个服务和 bootstrap.properities 配置文件如下:
- coupon 服务
# nacos server(nacos 服务端地址) 地址 spring.cloud.nacos.server-addr=125.108.111.131:8848 # nacos discovery server(nacos 服务注册/发现 服务端地址) 地址 spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr} # nacos discovery namespace(nacos 服务注册/发现 命名空间) spring.cloud.nacos.discovery.namespace=12b7ffb8-4e4f-41d7-a15a-0f54b104af34 # 服务名称 spring.application.name=gulimall-coupon spring.cloud.nacos.config.group=dev
- member 服务
# nacos server(nacos 服务端地址) 地址 spring.cloud.nacos.server-addr=125.108.111.131:8848 # nacos discovery server(nacos 服务注册/发现 服务端地址) 地址 spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr} # nacos discovery namespace(nacos 服务注册/发现 命名空间) spring.cloud.nacos.discovery.namespace=91291a93-cfec-4a6a-bed4-d9eedd6497b0 # 服务名称 spring.application.name=gulimall-member
member 服务调用 coupon 服务 client
编码如下:
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
@GetMapping("coupon/coupon/member/list")
public R member();
}
因为我给两个服务配置了不同的服务命名空间,所以当 member 服务调用 coupon 服务时报以下错误:
com.netflix.client.ClientException: Load balancer does not have available server for client: coupon