admin 发表于 2026-8-11 19:05:24

Nacos安装部署与服务注册发现搭建

Nacos 安装部署与服务注册发现搭建指南

1. Nacos 简介

Nacos 是一个动态服务发现、配置和服务管理平台,提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

2. 安装部署 Nacos

2.1 下载 Nacos

从官方 GitHub 仓库下载最新版本:
https://github.com/alibaba/nacos/releases

或使用 wget 下载:
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.zip

2.2 解压安装

unzip nacos-server-2.2.3.zip
cd nacos/bin

2.3 启动 Nacos 服务器

单机模式启动
# Linux/Unix/Mac
sh startup.sh -m standalone

# Windows
startup.cmd -m standalone

集群模式启动
需要配置 conf/cluster.conf 文件,指定集群节点 IP 和端口。

2.4 验证安装

访问 Nacos 控制台:
http://localhost:8848/nacos
默认用户名密码都是 nacos

3. 服务注册与发现

3.1 服务提供者注册

以 Spring Cloud 应用为例:

添加依赖
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>最新版本</version>
</dependency>

配置 application.yml
spring:
application:
    name: service-provider
cloud:
    nacos:
      discovery:
      server-addr: 127.0.0.1:8848

启动类添加注解
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
    public static void main(String[] args) {
      SpringApplication.run(ProviderApplication.class, args);
    }
}

3.2 服务消费者发现

消费者配置类似,通过 Nacos 发现服务:

@RestController
public class ConsumerController {
   
    @Autowired
    private LoadBalancerClient loadBalancerClient; // 或使用 RestTemplate + Ribbon
   
    @GetMapping("/consume")
    public String consume() {
      // 通过服务名发现实例
      ServiceInstance instance = loadBalancerClient.choose("service-provider");
      String url = String.format("http://%s:%s/provider/hello",
            instance.getHost(), instance.getPort());
      
      // 调用服务
      // ...
    }
}

或者使用 Feign 客户端:

@FeignClient(name = "service-provider")
public interface ProviderClient {
    @GetMapping("/provider/hello")
    String hello();
}

4. 高级配置

4.1 命名空间(Namespace)

用于多环境隔离,在 application.yml 中配置:
spring:
cloud:
    nacos:
      discovery:
      namespace: your-namespace-id

4.2 元数据(Metadata)

可以为服务实例添加元数据:
spring:
cloud:
    nacos:
      discovery:
      metadata:
          version: v1
          region: us-east

4.3 健康检查

Nacos 支持 TCP 和 HTTP 两种健康检查方式,默认是客户端向 Nacos 服务器发送心跳。

5. 集群部署建议

[*]至少 3 个节点:保证高可用
[*]外部化存储:使用 MySQL 替代内置 Derby 数据库
[*]配置集群节点:在 conf/cluster.conf 中配置所有节点
[*]负载均衡:前端使用 Nginx 或 LVS 做负载均衡


6. 常见问题

[*]服务注册失败:
[*]检查 Nacos 服务器是否正常运行
[*]检查网络连接和防火墙设置
[*]检查服务名称是否重复
[*]服务发现不到实例:
[*]检查服务是否成功注册
[*]检查命名空间是否一致
[*]检查健康检查配置
[*]性能问题:
[*]考虑调整心跳间隔和超时时间
[*]增加节点数量分担负载


通过以上步骤,您可以成功部署 Nacos 服务器并实现服务的注册与发现功能。
页: [1]
查看完整版本: Nacos安装部署与服务注册发现搭建