当前位置: 首页 > 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 接口,你会发现返回的缓存过期时间已经更新为最新配置的值,无需重启服务。

http://www.dtcms.com/a/102751.html

相关文章:

  • 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 文件配置详解
  • Java面试黄金宝典26
  • 烧结银:解锁金刚石超强散热潜力​
  • Python神经网络1000个案例算法汇总
  • UI设计中的交互技巧:如何让按钮更有反馈感?
  • 图灵完备——游戏中进行实践
  • 基础算法篇(3)(蓝桥杯常考点)-图论
  • 深入解析主线程退出与子线程管理:何时 Join(),何时 Detach()?
  • 学习记录-软件测试基础
  • 嵌入式八股RTOS与Linux--启动篇
  • 【虚拟仪器技术】Labview虚拟仪器技术应用教程习题参考答案[13页]