当前位置: 首页 > news >正文

下载并安装 Nacos

1. 下载并安装 Nacos

1.1 下载 Nacos

你可以从 Nacos 的 GitHub 发布页面(Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网 )下载最新的稳定版本。选择合适的压缩包(如 .zip 或 .tar.gz)进行下载。

1.2 解压文件

将下载好的压缩包解压到指定目录,例如 /opt/nacos 。以 Linux 系统为例,解压命令如下:

unzip nacos-server-$version.zip -d /opt/nacos

这里的 $version 需替换为你下载的具体版本号。

1.3 启动 Nacos

Nacos 有单机模式和集群模式,这里以单机模式为例启动。进入 Nacos 的 bin 目录,执行启动脚本:

cd /opt/nacos/bin
sh startup.sh -m standalone
1.4 验证启动

启动成功后,在浏览器中访问 http://localhost:8848/nacos ,使用默认用户名 nacos 和密码 nacos 登录 Nacos 控制台。

2. 创建 Spring Boot 项目

你可以使用 Spring Initializr(https://start.spring.io/ )来快速创建一个新的 Spring Boot 项目,添加以下依赖:

  • Spring Web
  • Spring Cloud Starter Alibaba Nacos Discovery

3. 配置 Spring Boot 项目

在 application.properties 或 application.yml 中添加 Nacos 相关配置。以下是 application.yml 的示例:

spring:
  application:
    name: your-application-name
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

4.nacos的配置文件

Nacos 的配置文件位于其解压后的conf目录下。以下是一些主要配置文件:

  • application.properties:Nacos 单机启动配置文件,用于配置 Nacos 的一些基本参数,如服务端口、数据存储路径、数据库连接信息等。
  • application.properties.example:单机默认配置文件,提供了一些默认的配置示例。
  • cluster.conf.example:Nacos 集群默认配置文件,用于配置集群相关的参数。
  • nacos-logback.xml:日志配置文件,用于配置 Nacos 的日志输出格式、级别等。

5.nacos必须要数据库才能启动吗

Nacos不必须要数据库才能启动。

Nacos 有两种数据存储方式:内嵌数据库和外部数据库。当使用内嵌数据库时,Nacos 可以直接启动,无需额外配置外部数据库。这种方式适用于开发测试环境,方便快速搭建 Nacos 服务。

但是,在生产环境中,为了保证数据的可靠性和稳定性,通常会使用外部数据库来存储 Nacos 的配置信息和服务注册信息等。此时就需要配置好外部数据库的连接信息,Nacos 才能正常启动并将数据持久化到外部数据库中。

动态刷新实现原理

Nacos 实现动态配置更新主要基于长轮询机制。客户端(微服务)在启动时会向 Nacos 服务器注册并获取配置信息,同时客户端会与 Nacos 服务器建立长轮询连接。当配置发生变化时,Nacos 服务器会记录配置的变更信息,当客户端发起长轮询请求时,服务器会将变更信息返回给客户端,客户端接收到变更信息后,会重新从服务器获取最新的配置并更新本地配置。

实现流程

  1. 客户端启动:微服务启动时,会从 Nacos 服务器获取初始配置信息,并与 Nacos 服务器建立长轮询连接。
  2. 配置变更:在 Nacos 控制台或通过 API 修改配置信息。
  3. 服务器通知:Nacos 服务器检测到配置变更后,会记录变更信息。当客户端发起长轮询请求时,服务器将变更信息返回给客户端。
  4. 客户端更新:客户端接收到变更信息后,会重新从 Nacos 服务器获取最新的配置信息,并更新本地配置。

在 Spring Boot 项目中的实现示例

1. 添加依赖

在 pom.xml 中添加 Spring Cloud Alibaba Nacos Config 依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2. 配置 Nacos 信息

在 src/main/resources 目录下创建 bootstrap.properties 文件,添加以下配置:

spring.application.name=your-application-name
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties
3. 使用 @RefreshScope 注解

创建一个控制器类,使用 @RefreshScope 注解支持配置的动态刷新:

nacos-dynamic-config-exampleNacos 动态配置更新示例

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RefreshScope
@RestController
public class DynamicConfigController {

    @Value("${cache.expire.time:3600}")
    private int cacheExpireTime;

    @GetMapping("/cacheExpireTime")
    public int getCacheExpireTime() {
        return cacheExpireTime;
    }
}    
4. 测试动态配置更新
  • 启动 Spring Boot 项目,访问 /cacheExpireTime 接口,获取初始的缓存过期时间。
  • 在 Nacos 控制台修改 your-application-name.properties 配置文件中的 cache.expire.time 属性值。
  • 再次访问 /cacheExpireTime 接口,你会发现返回的缓存过期时间已经更新为最新配置的值,无需重启服务。

相关文章:

  • R语言入门课| 04 R语言基本函数
  • 30、web前端开发之CSS3(七-综合实战案例)
  • 【linux】配置YUM/DNF仓库
  • 远心镜头原理
  • 受控组件和非受控组件的区别
  • QT Quick(C++)跨平台应用程序项目实战教程 5 — 界面设计
  • 张量-pytroch基础(2)
  • 数据结构实验1.1: 顺序表的操作及其应用
  • MTU / IP MTU / PMTU / MSS:理解它们的区别与联系
  • KM算法识别语音数字0-9
  • FreeCAD傻瓜教程-利用Python从代码复制粘贴生成零件
  • Shell 不神秘:拆解 Linux 命令行的逻辑与效率
  • 禁用微软输入法的简繁体切换
  • 别怕!51 单片机从入门到应用,小白也能轻松吃透
  • 快速上手Linux系统输入输出
  • 基于SVPWM和Park变换的异步电机转速控制系统simulink建模与仿真
  • 【Pandas】pandas DataFrame
  • 地图(八)利用python绘制散点地图
  • Spark,配置hadoop集群1
  • 【Easylive】Maven 多模块项目的 POM 文件配置详解
  • 报班学网站开发价格/百度网站收录提交入口全攻略
  • 阿里巴巴国际站入驻费用及条件/推广网页
  • 本地拖拽网站建设/公司管理培训课程大全
  • 做it的在哪个网站找工作/销售外包
  • 江苏建设信息官网网站/seo营销是什么意思
  • node.js网站开发/seo官网优化