博客
关于我
nacos看这一篇文章就够了
阅读量:793 次
发布时间:2023-02-14

本文共 3782 字,大约阅读时间需要 12 分钟。

Nacos简介与环境配置

第一章 Nacos简介

Nacos(阿里云开发者工具)是一款强大且灵活的服务发现、配置管理和服务管理平台。其主要功能包括:

  • 注册中心功能:类似于Dubbo或Spring Cloud的服务注册功能,方便实现服务的自动发现。
  • 配置中心功能:提供统一的配置管理解决方案,支持动态配置更新。
  • 服务管理功能:提供对服务的状态监控和健康检查能力。
  • Nacos官网地址:https://nacos.io/zh-cn/index.html

    第二章 Nacos环境配置

    Nacos的运行依赖Java环境,并且需要一些特定的软件安装。以下是安装前需要注意的事项:

  • 依赖环境

    • Java 8.0及以上版本。
    • Maven 3.2.x(推荐使用64位版本)。
  • 操作系统要求

    • Linux/Unix/Mac:推荐使用Linux或Unix系统。
    • Windows系统:支持但需注意性能优化。
  • 安装步骤

    • 使用源码编译:git clone https://gitee.com/mirrors/Nacos.git && cd Nacos/ && mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
    • 也可以通过官方镜像直接下载安装包:https://github.com/alibaba/nacos/releases
  • 第三章 Nacos下载与安装

    1.1 Nacos源码下载

    • 使用Git克隆仓库:git clone https://gitee.com/mirrors/Nacos.git
    • 进入项目目录并编译:cd Nacos/ && mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
    • 编译完成后,会在distribution/target/目录下生成安装包nacos-server-2.0.3.tar.gznacos-server-2.0.3.zip

    1.2 Nacos安装

    • Linux/Unix/Mac

      • 进入安装目录:cd /Nacos/distribution/target/nacos-server-2.0.3/nacos/bin/
      • 启动命令:sh startup.sh -m standalone
      • 停止命令:sh shutdown.sh
    • Windows系统

      • 进入安装目录:cd /Nacos/distribution/target/nacos-server-2.0.3/nacos/bin/
      • 启动命令:startup.cmd -m standalone
      • 停止命令:shutdown.cmd
    • 注意事项

      • Linux/Unix/Mac:可通过netstat -ano | findstr 8080查找进程号,taskkill /F /PID命令即可杀死进程。
      • Windows系统:默认杀死进程可通过命令taskkill /F /PID

    1.3 Nacos控制台访问

    • 访问地址:启动日志中会显示控制台访问地址。
    • 默认账号和密码admin/nacos

    第四章 Nacos配置管理

    1.1 命名空间管理

    • 命名空间介绍:用于管理不同环境(如测试、预发、生产)的服务和配置,支持定义环境特定的配置值。

    • 创建和修改命名空间:可通过Nacos控制台或API进行操作。

    1.2 配置管理

    • 配置参数

      • dataId:配置ID,采用package.class格式,确保全局唯一性。
      • group:配置分组,建议使用产品名和模块名结合。
      • timeoutMs:读取配置的超时时间。
    • 动态配置更新:支持自动刷新和监听机制,确保配置实时生效。

    第五章 Nacos配置管理(Java SDK使用)

    1.1 Maven依赖

    • 必要依赖:
      com.alibaba.nacos
      nacos-client
      2.0.3
      com.google.guava
      guava
      31.0.1-jre
      org.slf4j
      slf4j-log4j12
      1.7.21

    1.2 配置示例

    @Testpublic void test01() throws NacosException {    Properties properties = new Properties();    properties.put(PropertyKeyConst.SERVER_ADDR, "127.0.0.1:8848");    properties.put(PropertyKeyConst.NAMESPACE, "26df001f-7eaa-49eb-95fe-8a28f6acdb7e");        ConfigService configService = NacosFactory.createConfigService(properties);    String config = configService.getConfig("tmall", "DEFAULT_GROUP", 3000);    System.out.println(config);}

    1.3 Spring集成

    • 依赖配置

      com.alibaba.nacos
      nacos-spring-context
      1.1.1
    • Nacos配置注解驱动

      @Configuration@EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "127.0.0.1:8848"))public class NacosConfiguration {    @NacosPropertySource(dataId = "tmail", groupId = "DEFAULT_GROUP", autoRefreshed = true)    // 配置内容}

    第六章 Nacos高可用性

    1.1 集群搭建

    • 节点数量:至少3个节点。

    • 安装步骤

    • 创建nacos-cluster目录,并在其下创建nacos1nacos2nacos3目录。2.上传编译好的nacos-server-2.0.4.tar.gz到每个节点目录。
    • 解压并修改配置文件,设置不同端口并配置集群节点信息。
    • 启动命令

      sh startup.sh -p embedded
    • 集群验证:登录任一节点,通过控制台操作配置,配置将自动同步到其他节点。

    第七章 Nacos集群操作

    1.1 Java SDK集群示例

    @Testpublic void test01() throws NacosException {    Properties properties = new Properties();    properties.put(PropertyKeyConst.SERVER_ADDR, "192.168.80.128:7777,192.168.80.128:8888,192.168.80.128:9999");        ConfigService configService = NacosFactory.createConfigService(properties);    String config = configService.getConfig("tmail", "DEFAULT_GROUP", 3000);    System.out.println(config);}

    1.2 SpringBoot集群示例

    application.properties中配置:

    nacos.config.server-addr=192.168.80.128:7777,192.168.80.128:8888,192.168.80.128:9999

    第八章 Nacos一致性协议

    1.1 CAP定理简介

    CAP定理指出在分布式系统中,无法同时满足一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。Nacos在不同角色中采取不同的一致性策略:

    • 注册中心:保证AP一致性。
    • 配置中心:保证CP一致性。

    1.2 Nacos一致性协议

    • 注册中心:通过心跳机制和健康检查确保服务可用。
    • 配置中心:采用多版本并发控制(MVCC)机制,确保读写一致性。

    转载地址:http://iwcfk.baihongyu.com/

    你可能感兴趣的文章
    Nacos使用OpenFeign
    查看>>
    Nacos使用Ribbon
    查看>>
    Nacos做注册中心使用
    查看>>
    Nacos做配置中心使用
    查看>>
    Nacos入门过程的坑--获取不到配置的值
    查看>>
    Nacos原理
    查看>>
    Nacos发布0.5.0版本,轻松玩转动态 DNS 服务
    查看>>
    Nacos启动异常
    查看>>
    Nacos命名空间配置_每个人用各自自己的命名空间---SpringCloud Alibaba_若依微服务框架改造---工作笔记001
    查看>>
    Nacos和Zookeeper对比
    查看>>
    Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
    查看>>
    Nacos基础版 从入门到精通
    查看>>
    Nacos如何实现Raft算法与Raft协议原理详解
    查看>>
    Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(上)
    查看>>
    Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(下)
    查看>>
    Nacos心跳机制实现快速上下线
    查看>>
    nacos报错com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
    查看>>
    nacos服务提供和发现及客户端负载均衡配置
    查看>>
    Nacos服务注册与发现demo
    查看>>