Nacos学习

news2024/9/22 3:12:15

Nacos

Nacos

  • Nacos
    • Nacos 简介
      • 核心特性:
    • Nacos 启动
      • 启动运行(windows)
        • standalone(单节点)
        • cluster模式
        • Nacos Server 的配置数据是存在哪里呢?
      • 测试demo项目结构
      • 统一配置中心
        • 命名空间、分组、文件
        • 新建bootstrap.properties文件
        • 依赖
        • controller
        • 效果
      • 配置中心多数据集
      • 配置中心-导入、导出、克隆

Nacos 简介

Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

核心特性:

  1. 服务发现: 支持 DNS 与 RPC 服务发现,也提供原生 SDK 、OpenAPI 等多种服务注册方式和 DNS、HTTP 与 API 等多种服务发现方式。
  2. 服务健康监测: Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。
  3. 动态配置服务: Nacos 提供配置统一管理功能,能够帮助我们将配置以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。
  4. 动态 DNS 服务: Nacos 支持动态 DNS 服务权重路由,能够让我们很容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单 DNS 解析服务。
  5. 服务及其元数据管理: Nacos 支持从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

Nacos 启动

启动运行(windows)

standalone(单节点)

直接解压后在bin目录下启动
在这里插入图片描述
注意查看启动
在这里插入图片描述
启动成功后:默认账号/密码: nacos
在这里插入图片描述

cluster模式

测试环境,可以先用 standalone 模式撸起来,享受 coding 的快感,但是,生产环境可以使用 cluster 模式。

cluster 模式需要依赖 MySQL,然后改两个配置文件:

conf/cluster.conf
conf/application.properties

大致如下:

1: cluster.conf,填入要运行 Nacos Server 机器的 ip

192.168.100.155
192.168.100.156

2: 修改NACOS_PATH/conf/application.properties,加入 MySQL 配置

db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

创建一个名为nacos_config的 database,将NACOS_PATH/conf/nacos-mysql.sql中的表结构导入刚才创建的库中,这几张表的用途就自己研究吧

Nacos Server 的配置数据是存在哪里呢?

我们没有对 Nacos Server 做任何配置,那么数据只有两个位置可以存储:

  • 内存
  • 本地数据库

如果我们现在重启刚刚在运行的 Nacos Server,会发现刚才加的 nacos.properties 配置还在,说明不是内存存储的。
这时候我们打开NACOS_PATH/data,会发现里边有个derby-data目录,我们的配置数据现在就存储在这个库中。

Derby 是 Java 编写的数据库,属于 Apache 的一个开源项目

如果将数据源改为我们熟悉的 MySQL 呢?当然可以。

注意:不支持 MySQL 8.0 版本

这里有两个坑:

Nacos Server 的数据源是用 Derby 还是 MySQL 完全是由其运行模式决定的:

standalone 的话仅会使用 Derby,即使在 application.properties 里边配置 MySQL 也照样无视;
cluster 模式会自动使用 MySQL,这时候如果没有 MySQL 的配置,是会报错的。

测试demo项目结构

在这里插入图片描述

统一配置中心

所有渠道端可以读取放置在配置中心的配置文件;简单说:“抽取配置文件到nacos,然后服务(系统)只需要指定nacos所建配置文件的路径即可”
在这里插入图片描述

命名空间、分组、文件

命名空间下存在不同的分组,而在组之下就是配置文件(目录结构式管理–三者定位)
这样的服务获取配置文件就需要指定命名空间、分组、配置文件名

默认的命名空间:public(无空间ID)

  1. 新建-命名空间
    在这里插入图片描述
    切换不同空间
    在这里插入图片描述
  2. 新建-配置文件
    配置管理-配置列表-“+”
  • Data ID: 配置文件完整名
  • Group :分组名
  • 配置格式:选择需要的格式
  • 配置内容:配合文件内容
    在这里插入图片描述

新建bootstrap.properties文件

bootstrap加载优先级高于application.yaml

spring.application.name=nacos_config_test
spring.cloud.nacos.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.group=DEFAULT_GROUP
# 如果不是在public空间下需要指定空间ID
#spring.cloud.nacos.config.namespace=71fa8cbc-535b-4ae1-9535-ec75d3807f0c
spring.cloud.nacos.config.name=nacos_config.properties

依赖

naocs-demo:

   <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
        <springboot.version>2.3.2.RELEASE</springboot.version>
        <springcloudalibaba.version>2.2.5.RELEASE</springcloudalibaba.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${springboot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${springcloudalibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

nacos_config_test:
配置中心依赖:

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

    </dependencies>

controller

RefreshScope 刷新
在这里插入图片描述

效果

在这里插入图片描述

配置中心多数据集

配置管理
在这里插入图片描述
bootstrap.properties

]spring.application.name=nacos_config_test
spring.cloud.nacos.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=71fa8cbc-535b-4ae1-9535-ec75d3807f0c

spring.cloud.nacos.config.extension-configs[0].data-id=myTest.yaml
spring.cloud.nacos.config.extension-configs[0].group=my_group
spring.cloud.nacos.config.extension-configs[0].refresh=true

spring.cloud.nacos.config.extension-configs[1].data-id=myTest.yaml
spring.cloud.nacos.config.extension-configs[1].group=test_group
spring.cloud.nacos.config.extension-configs[1].refresh=true

配置中心-导入、导出、克隆

字面意思

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字符串相似及匹配 Jaro-Winkler

前言 String str1 "明天吃红烧肉"; String str2 "明天中午吃红烧肉"; String str3 "明天吃红烧肉&#xff1f;"; String str4 "吃红烧肉";用普通的相等判断&#xff0c;只能得到是或否&#xff0c;但如果你在实际的业务需求中&am…

【中国信通院|低代码·无代码应用沙龙】低代码平台在云智慧的实践探索

从2014年 Forrester Research 首次提出“低代码开发平台&#xff08;LCAP&#xff09;”这一概念开始&#xff0c;低代码行业便备受关注。随着 SaaS 场景的加持&#xff0c;aPaaS 场景也被孵化了出来。与此同时&#xff0c;随着近两年 Outsystems 的快速发展&#xff0c;让其成…

猜数字-第11届蓝桥杯Scratch选拔赛真题精选

[导读]&#xff1a;超平老师计划推出Scratch蓝桥杯真题解析100讲&#xff0c;这是超平老师解读Scratch蓝桥真题系列的第97讲。 蓝桥杯选拔赛每一届都要举行4~5次&#xff0c;和省赛、国赛相比&#xff0c;题目要简单不少&#xff0c;再加上篇幅有限&#xff0c;因此我精挑细选…

【Unity】Entities 1.0 学习(二):调试工具

在 Entites 1.0 &#xff0c;Unity修改了之前的调试面板&#xff0c;以及在场景下构建 Ecs World 的流程&#xff0c;较之前的版本差别还是蛮大的。 之前的学习大多集中在代码和语法&#xff0c;很多是对之前成熟的代码做升级改造&#xff0c;所以没有用到新的调试工具。但是最…

Java以Graph方式发送Outlook、Exchange邮件(2022新版)

目录 问题提出 问解决题 注意 1、注册应用程序 2、引入需要依赖jar包——重点 3、微软管理员授予应用合适权限 参考链接 问题提出 在2022年10月份&#xff0c;微软公司出于安全考虑&#xff0c;陆续取消了Exchange邮件发送的Basic认证。通俗来说就是不能再用用户名密码…

ModuleNotFoundError: No module named ‘System‘解决办法

本人在做python和halcon接口的时候发现程序需要System库&#xff0c;报下面的错误 Traceback (most recent call last): File "D:/Project/pyhalcon/pcbhalcon.py", line 2, in <module> import System ModuleNotFoundError: No module named System Process …

APP隐私合规现状与防范措施

背景 2021年11月1《个人信息保护法》正式施行&#xff0c;标志信息保护进入强监管时代&#xff0c;APP监管被提升到前所未有的高度&#xff0c;数据安全、用户隐私、甚至功能体验等各个方面都出台了相应的规则规范&#xff0c;监管的初衷是&#xff1a;从各个层面保障用户的权…

Stimulsoft Reports.JAVA 2022.4.5 Crack

Stimulsoft Reports.JAVA Java 报表工具 Stimulsoft Reports.JAVA 是一种报告工具&#xff0c;用于在您的 Java 应用程序中进行业务报告的交互和工作。它包含 Java 和 HTML5 组件&#xff0c;允许您在不同平台、不同操作系统和不同硬件上使用创建的程序。因此&#xff0c;我们的…

树上的小兔子,藏了服务的新逻辑

【潮汐商业评论/原创】 自从一连三日委托会务组组织会议&#xff0c;Shirley在雅琳那收获了一个熟悉的称呼&#xff1a;雪梨&#xff0c;这是Shirley在部门内的“代号”&#xff0c;在过去独属于她最亲密的几位同事。 熟悉的称呼让她们感觉既轻松又亲近。然而&#xff0c;跳出…

虹科分享 | 加密U盘 | 何时使用USB驱动器进行备份(何时不用)

在存档或备份数字资产或数据时&#xff0c;有多种选择。虽然每个公司的需求和要求各不相同&#xff0c;但没有一种放之四海而皆准的方法或解决方案。在这里&#xff0c;我们将看看USB驱动器的优点和陷阱&#xff0c;USB驱动器是专业人士和个人用于存档和备份的最常见存储选项。…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java特殊教育学校学生管理系统002k1

要开始我们毕业设计的第一步的关键就是选好我们的课题&#xff0c;有的同学开始选题的时候想着按照传统的课题延续下去&#xff0c;在设计题目时&#xff0c;不要过于笼统广泛&#xff0c;选择题目其实并不难&#xff0c;要多从自身的角度出发&#xff0c;要结合你们当前所处的…

20221207比对python和C的运行效率(以六元一次方程组为例)【大概300倍】

20221207比对python和C的运行效率&#xff08;以六元一次方程组为例&#xff09; 2022/12/7 17:30 C:\20221207比对python和C的运行效率&#xff08;以六元一次方程组为例&#xff09;\1000-1000-1000-1000-1000-1000 &#xff08;只跑一次&#xff09; Python源码&#xff1a…

【web前端期末大作业】基于html关爱空巢老人网页设计与实现

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

程序设计基础最后一次作业——解析

文章目录打开项目文件完成题目initialize函数从文件info.txt中读入人员信息数据PrintAllSearchbyNameInsertSendMessage问题为什么txt打开是乱码打开项目文件 解压文件列表如下&#xff0c;每一个框是一组&#xff0c;.h后缀的文件是对应cpp文件的头文件&#xff0c;声明了相关…

理解路由表 实验报告

实验名称&#xff1a; 理解路由表 一、实验预习 1、实验目的 利用route命令查看、增加、删除等主机路由信息&#xff0c;以进一步熟悉和理解路由表。 实验内容&#xff08;包括自己设计增加的内容等&#xff09; 利用route命令查看、增加、…

制造业数据安全如何保证?天翎知识文档管理系统+群晖NAS企业级解决方案

编者按&#xff1a;本文分析了制造业文档管理中的需求&#xff0c;并进一步指出天翎知识文档管理系统群晖NAS企业级解决方案是如何满足企业需求&#xff0c;为企业赋能创新的。 关键词&#xff1a;免安装维护&#xff0c;流程审批&#xff0c;私有化部署&#xff0c;安全技术&…

基于人工蜂群算法的新型概率密度模型的无人机路径规划(Matlab代码实现)

目录 1 概述 1.1研究背景 2 运行结果 3 Matlab代码实现 4 结语 5 参考文献 1 概述 文章提出一种基于人工蜂群算法的非确定性双向规划机制搜索算法。首先针对不同场景&#xff0c;采用两种方法进行环境建模&#xff1b;其次&#xff0c;结合非确定性搜索机制引入双向规划方…

数字后端:track的作用与创建

1.track的定义 EDA工具根据LEF(或tech file)中每层金属的pitch大小&#xff0c;在芯片内部自动生成各层金属连续的、规则的绕线轨道&#xff08;routing track&#xff09;&#xff0c;routing track指的就是绕线的路径。 tech lef示例 tech file示例 DEF中保存的TRACK信息如下…

射频工程师自学HFSS、CST和ADS打开方式

导读&#xff1a;大家好&#xff0c;我是RF小木匠,受仿真秀平台邀请&#xff0c;近日正式入驻了仿真秀App,今天RF小木匠想和大家聊一下电磁仿真软件学习那些事。 一、仿真是射频工程师的必备技能 当我们开始接触电磁波和微波工程的时候&#xff0c;第一件事就是仿真。电磁仿真…

Docker 安装 Python

文章目录使用docker pull python:3.8 命令安装使用python镜像&#xff08;一&#xff09;新建py文件&#xff08;二&#xff09;运行容器使用docker pull python:3.8 命令安装 查找Docker Hub上的python镜像&#xff0c;输入命令&#xff1a;docker search python 这里我拉取…