Skip to main content
 首页 » 编程设计

手把手学习springcloudalibaba:❤️Nacos服务注册中心集成实战❤️

2023年04月30日38pengyingh

1. 准备工作

首先,我们需要准备以下环境:

- JDK 1.8+

- Maven 3.0+

- Spring Boot 2.1.0.RELEASE+

- Spring Cloud Alibaba 0.2.0.RELEASE+

2. 创建Spring Boot项目

在开始之前,我们需要创建一个Spring Boot项目。可以使用Spring Initializr快速创建一个基础的Spring Boot项目,也可以手动创建一个空的Spring Boot项目。

在pom.xml文件中添加以下依赖:

xml 

   
    
   
    org.springframework.cloud
    
    
   
    spring-cloud-starter-alibaba-nacos-discovery
    
    
   
    0.2.0.RELEASE
    

   

3. 配置Nacos服务注册中心

在application.properties文件中添加以下配置:

properties 
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 

这个配置将会告诉Spring Cloud Alibaba应用,Nacos服务注册中心的地址是127.0.0.1:8848。

4. 编写服务提供者

我们将创建一个简单的服务提供者,它将会向Nacos服务注册中心注册自己的服务。

首先,我们需要在pom.xml文件中添加以下依赖:

xml 

   
    
   
    org.springframework.cloud
    
    
   
    spring-cloud-starter-alibaba-nacos-discovery
    
    
   
    0.2.0.RELEASE
    

   

然后,我们创建一个简单的RestController:

java 
@RestController 
public class HelloController { 
 
    @GetMapping("/hello") 
    public String hello() { 
        return "Hello, world!"; 
    } 
} 

最后,我们需要在启动类上添加@EnableDiscoveryClient注解,以启用服务注册和发现功能:

java 
@SpringBootApplication 
@EnableDiscoveryClient 
public class ProviderApplication { 
 
    public static void main(String[] args) { 
        SpringApplication.run(ProviderApplication.class, args); 
    } 
} 

5. 编写服务消费者

我们将创建一个简单的服务消费者,它将会从Nacos服务注册中心获取服务提供者的地址,并调用服务提供者的接口。

首先,我们需要在pom.xml文件中添加以下依赖:

xml 

   
    
   
    org.springframework.cloud
    
    
   
    spring-cloud-starter-alibaba-nacos-discovery
    
    
   
    0.2.0.RELEASE
    

   

然后,我们创建一个简单的RestController:

java 
@RestController 
public class HelloController { 
 
    @Autowired 
    private RestTemplate restTemplate; 
 
    @GetMapping("/hello") 
    public String hello() { 
        String url = "http://provider/hello"; 
        return restTemplate.getForObject(url, String.class); 
    } 
} 

在这个RestController中,我们使用了RestTemplate来调用服务提供者的接口。

最后,我们需要在启动类上添加@EnableDiscoveryClient注解,以启用服务注册和发现功能:

java 
@SpringBootApplication 
@EnableDiscoveryClient 
public class ConsumerApplication { 
 
    public static void main(String[] args) { 
        SpringApplication.run(ConsumerApplication.class, args); 
    } 
 
    @Bean 
    public RestTemplate restTemplate() { 
        return new RestTemplate(); 
    } 
} 

6. 启动应用

现在,我们可以启动服务提供者和服务消费者应用了。在启动之前,我们需要先启动Nacos服务注册中心。可以从Nacos官网下载最新版本的Nacos Server,并按照文档进行安装和启动。

启动服务提供者应用后,它将会向Nacos服务注册中心注册自己的服务。我们可以在Nacos的管理界面上查看到这个服务。

然后,我们启动服务消费者应用。它将会从Nacos服务注册中心获取服务提供者的地址,并调用服务提供者的接口。

在浏览器中访问http://localhost:8080/hello,就可以看到服务提供者返回的“Hello, world!”了。

7. 总结