Nacos 使用服务名调不了服务,提示找不到host ,服务提供者消费者均已在Nacos Sever中注册成功

----服务提供者-------------------------------------------------------------------------------------

1.服务提供者 添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.在application.properties中添加nacos的如下设置
server:
  port: 9005

spring:
  application:
    name: springcloud-provider-dept-9005
  cloud:
    nacos:
      discovery:
        server-addr: http://127.0.0.1:8848
        group: springcloud

3.提供一个Controller,供消费者调用,在主启动类上添加

@EnableDiscoveryClient

----服务消费者-------------------------------------------------------------------------------------

1.添加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

2.在application.properties中添加nacos的如下设置

server:
  port: 8005

spring:
  application:
    name: springcloud-consumer-dept-8005
  cloud:
    nacos:
      discovery:
        server-addr: http://127.0.0.1:8848
        group: springcloud

3.添加restTemplate的bean

@Configuration
public class RestConfig {

    @LoadBalanced    // 此处添加负载均衡
    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

4.主启动类添加

@EnableDiscoveryClient

以上操作即可,如果Nacos Sever还没有启动的,可以查看官方快速启动文档

以上不能以服务名访问的点:添加了@LoadBalanced 还需要在pom.xml文件中添加

<dependency>

        <groupId>org.springframework.cloud</groupId>

        <artifactId>spring-cloud-starter-loadbalancer</artifactId>

        <version>版本号</version>

</dependency>

否则只添加@LoadBalanced是提示找不到服务名的


版权声明:本文为zjn640322原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。