架构中:注册中心使用流程

a178c6bb85148e52c7dd5b0b70674ac

流程说明:

  1. Nacos服务器准备:启动Nacos服务
  2. 客户端配置:在应用中配置Nacos服务器地址和服务信息
  3. 服务注册:应用启动时自动向Nacos注册
  4. 心跳保持:注册后定期发送心跳维持注册状态
  5. 服务发现:其他服务通过Nacos发现已注册的服务
  6. 服务调用:通过服务名进行调用,Nacos提供负载均衡

通俗易懂的Nacos注册案例

下面是一个简单的Spring Cloud服务注册到Nacos的案例:

1. 准备工作

  • 安装并启动Nacos服务器(可从官网下载)
  • 创建一个Spring Boot项目

2. 添加依赖

在项目的pom.xml中添加Nacos相关依赖:

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

3. 配置Nacos连接

application.yml中配置:

spring:
  application:
    name: user-service  # 服务名称
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848  # Nacos服务器地址
        username: nacos  # 默认用户名
        password: nacos  # 默认密码

4. 启用服务发现

在主启动类上添加@EnableDiscoveryClient注解:

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

5. 启动服务

启动应用后,服务会自动注册到Nacos。你可以在Nacos控制台(通常为http://localhost:8848/nacos)看到注册的服务。

6. 服务发现示例

其他服务可以通过服务名调用该服务:

@RestController
public class OrderController {
    
    @Autowired
    private RestTemplate restTemplate;
    
    @GetMapping("/order/{userId}")
    public String getUserInfo(@PathVariable String userId) {
        // 通过服务名调用,Nacos会自动处理服务发现和负载均衡
        String url = "http://user-service/user/" + userId;
        return restTemplate.getForObject(url, String.class);
    }
}
posted @ 2025-07-04 16:12  姬高波  阅读(23)  评论(0)    收藏  举报