淘先锋技术网

首页 1 2 3 4 5 6 7

1. Nacos简介

​ Nacos是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴开发和维护。

​ Nacos支持多种注册中心和配置管理器,包括Spring Cloud Discovery、Dubbo、Kubernetes和Apache ServiceComb等。

​ Nacos提供了REST、gRPC和Java SDK等多种API,使得开发人员可以轻松地与Nacos进行交互

1.1 核心特性

  • 配置管理:Nacos提供了统一的配置管理平台,可以帮助用户集中管理不同环境的配置信息。用户可以通过Nacos的控制台或API进行配置的新增、修改、删除等操作,并且支持配置的版本管理。
  • 服务发现和注册:Nacos提供了服务注册和发现的功能,可以帮助用户快速发现和访问服务。服务提供者在启动时将服务的元数据注册到Nacos,服务消费者通过Nacos获取服务提供者的地址信息,并进行调用。
  • 动态配置:Nacos支持动态配置,可以在不停机的情况下动态修改配置信息。例如,可以通过Nacos修改数据库连接池的最大连接数,而不需要重启应用。
  • 健康检查:Nacos提供了健康检查的功能,可以检测服务的可用性。当服务不可用时,Nacos会自动将该服务从服务列表中剔除。
  • 路由策略:Nacos支持多种路由策略,可以根据不同的规则将请求路由到不同的服务提供者。

1.2 常见的注册中心

1.3 Nacos结构图

请添加图片描述

2. 如何安装和配置Nacos?

2.1 Nacos的安装

​ 首先,你需要下载Nacos的安装包,你可以从Nacos的官方网站上下载:https://github.com/alibaba/nacos/releases(我用的是1.4.1的版本)
在这里插入图片描述

解压下载的安装包,进入解压后的目录。

  • bin:启动脚本
  • conf:配置文件
    请添加图片描述
    端口配置

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。

如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
在这里插入图片描述

运行bin目录下的startup.sh(Linux/MacOS)或startup.cmd(Windows)脚本,启动Nacos服务。
在这里插入图片描述
然后 cmd 进入该目录执行命令即可:

startup.cmd -m standalone

在这里插入图片描述
打开浏览器,访问http://localhost:8845/nacos,如果能够看到Nacos的登录页面,则说明Nacos已经成功安装并启动。
在这里插入图片描述
默认的账户和密码均为:nacos

第一次使用时,不存在任何信息,图中数据忽略不计😂
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pw0EANKg-1683802455238)(D:\Typora\笔记\Nacos\image-20230511184245951.png)]

2.2 如何使用Nacos?

Nacos是一种服务注册和发现的工具,可以帮助我们管理微服务架构中的组件。下面是使用Nacos进行服务注册和发现的基本步骤:

在应用程序中添加Nacos客户端依赖项,例如在Maven项目中添加以下依赖项:

父工程:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

客户端:

<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在应用程序中添加Nacos客户端配置,例如在Spring Boot应用程序中,可以在application.properties文件中添加以下配置:

#nacos服务地址 我的是8845端口
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8845
#服务名(该服务创建成功后为与public下)
spring.cloud.nacos.discovery.namespace=your-namespace

其中server-addr是Nacos服务器的地址和端口号,namespace是Nacos的命名空间,用于隔离不同的环境。

在应用程序中添加服务注册和发现的注解,例如在Spring Boot应用程序中,可以使用@EnableDiscoveryClient注解启用服务注册和发现功能。

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

在应用程序中注册服务,例如在Spring Boot应用程序中,可以使用@RestController注解定义一个RESTful服务。

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

在Nacos控制台中查看已注册的服务,可以在浏览器中访问http://localhost:8845/nacos/index.html,并使用Nacos的默认用户名和密码登录。

  • 使用服务注册和发现,您可以轻松地将服务注册到Nacos,并从Nacos发现其他服务。
  • 使用配置管理,可以轻松地管理和配置应用程序。