初识Nacos

前言

Nacos是一个用于微服务架构下的服务发现和配置管理以及服务管理的综合解决方案(官网介绍),这里的服务发现其实就是注册中心,配置管理就是配置中心,而服务管理是二者的综合;

Nacos特性

1.服务发现与服务健康检查

基于Http接口或DNS发现其他服务,并提供健康检测服务,以防止向不健康的主机或服务实例发送请求

2.动态配置管理

允许在所有环境中以集中和动态的方式管理所有的服务配置,使得配置和更改更加高效

3.动态DNS服务

基于DNS协议,为了支持更多语言

4.服务和元数据管理

能够从微服务平台视角管理服务

配置管理

对于一个分布式架构的项目,由于服务的拆分也造成了配置文件分散,而使用Nacos作为配置中心,可以对程序中的一些配置文件进行统一管理,程序只需要将配置文件发布到配置中心,Nacos可以自动地进行管理,后续服务在运行时就可以通过网络协议从配置中心中获取配置。

nacos配置中心启动

setp1:直接双击startup.cmd运行

step1:也可以通过命令行方式启动

#切换目录

cd nacos/bin

#命令启动

startup.cmd -m standalone

step2:在浏览器地址栏中输入 http://localhost:8848/nacos,即可访问nacos登录页面,用户名密码均为nacos

向Nacos配置中心添加一个配置

step1:发布配置

点击发布后,该配置文件就新增好了

step2:获取配置内容

1.在java工程中添加坐标

2.编写代码

public static void main(String[] args) throws NacosException {//使用nacos Client 远程获取nacos上的服务//1.data idString dataId ="nacos-simple-demo.yaml";//2.groupString group ="DEFAULT_GROUP";//3.nacos服务的地址 (ip 端口)String serverAddr="127.0.0.1:8848";Properties properties = new Properties();properties.put("serverAddr",serverAddr);//获取nacos服务上的配置ConfigService configService = NacosFactory.createConfigService(properties);String config = configService.getConfig(dataId, group, 5000);System.out.println(config);
}

运行结果:

Nacos配置管理模型

对于Nacos配置管理,可以通过Namespace、group、Data Id来确认到一个具体的配置集

配置集(Data Id)

在系统中,一个配置文件通常就是一个配置集,一个配置集可以包含系统的各种配置信息,例如数据源、日志、线程池等等。这些配置集的Id即DataId。

配置项

配置集中的一个个配置内容就是配置项,它代表一个具体可配置的参数与其值,通常以key = value 的形式存在.

配置分组(group)

是指对配置集进行分组,通过一个有意义的字符串,Buy或Trade来表示,不同的配置分组下都可以有相同的配置集。如果在创建配置时,没有填写配置分组的名称,则使用默认分组。

命名空间(Namespace)

命名空间用于隔离不同的配置环境,例如生产环境,测试环境和开发环境,这是因为不同的环境可能会有不同的配置,或是不同的用户。但是不同的命名空间中可以存在相同名称的配置分组。

到这里其实产生了一个问题,刚刚我们在获取nacos上的服务时,是没有设置Namespace的,也就是默认public.那如果我对Namespace进行设置,改成了dev,这个时候怎么获取到dev环境下的配置文件呢。

🆗这个时候,我们只需要在刚才的java代码中再增加一个属性namespace,值可以从nacos中获取到,下图所示,然后将namespace属性存放到properties中,即可。

总结

关于Nacos的基础配置知识就聊到这里啦,后续还会发怎么应用到分布式系统中,加油(ง •_•)ง

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

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

相关文章

什么是Linux

什么是Linux? 不知道大家是什么时候开始接触Linux,我记得我是大三的时候,那时候通过国嵌、韦东山的教学视频,跟着搭bootloader,修改内核,制作根文件系统,一步步,视频真的很简单&…

两性养生网站源码 生活类减肥网站源码 健康网模板源码 支持QQ登录和百度主动推送

本套模板非常适合生活类,两性类,减肥类等等类型的网站,这类型网站比较好做流量,因为客户群体众多, 可以自行改内容为其他类型网站模板总体非常简洁漂亮,配色合理,视觉舒服,并且配合…

HarmonyOS实现几种常见图片点击效果

一. 样例介绍 HarmonyOS提供了常用的图片、图片帧动画播放器组件,开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果、点击切换状态、点击动画效果、点击切换动效。 相关概念 image组件:图片…

IP175LLF基本参数和引脚图

特性 宽工作温度范围IP175LLF(0C至70C) IP175LLFI(-40C至85C)内置5个MAC和4个PHY 每个端口可配置为10base-t、100Base-TX 最多2K个MAC地址支持自极性10Mbps 汽车MDI-MDIX 支持1个MII/RMII端口Layer2-4多字段分类器 支持8-MultiField输入支持交通政策支持多字段过滤器 支…

静态链表处理

静态链表是指使用数组来表示节点。在C中,可以使用数组来创建静态列表,其中每个元素都有固定的位置和索引。可以通过下标寻址的方式来访问和操作列表中的元素。 单向列表: struct linkednode{int data;int next; }node[N]; 双向链表&#x…

K8S1.23.6版本详细安装教程以及错误解决方案(包括前置环境,使用部署工具kubeadm来引导集群)

准备工作(来自官方文档) 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令。每台机器 2 GB 或更多的 RAM(如果少于这个数字将会影响你应用的运行内存&#xf…

HJ23 删除字符串中出现次数最少的字符

描述 实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 数据范围:输入的字符串长度满足 1≤n≤20 ,保…

vue使用wangEditor

vue版本2.0;editor5.1.23版本;editor-for-vue:1.0.2版本 api文档入口 效果图 点击查看如何封装 安装步骤入口 npm install wangeditor/editor --savenpm install wangeditor/editor-for-vue --save代码(未封装过的)…

Layui快速入门之第三节栅格布局

目录 一:栅格布局的基本概念 二:栅格布局规则 三:始终等比例水平排列案例 四:响应式规则 五:移动设备、桌面端的组合响应式展现案例 六:移动设备、平板、桌面端的复杂组合响应式展现案例 七&#xf…

day35 线程

程序:是为了完成特定的任务,用某种语言编写的一组有序指令的集合,是一段静态的代码 进程:是程序的一次执行过程 线程:线程是进程中的一个执行单元 线程是调度和执行的单位 处理器和线程间的关系 创建线程(重点) 创建…

大数据课程L5——网站流量项目的实时业务系统搭建

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握网站流量项目的 Flume—>Kafka 连通; ⚪ 掌握网站流量项目的实时业务系统搭建; 一、Flume—>Kafka 连通 1. 实现步骤 1. 启动三台服务器。 2. 启动 Zookeeper 集群。 执行指…

2023国赛 B题论文 基于多波束测深技术的海洋探测建模与分析

因为一些不可抗力,下面仅展示小部分论文,其余看文末 一、问题重述 1.1 问题背景 海洋测深是测定水体深度与海底地形的重要任务,有两种主要技术:单波束测深与多波束测深。单波束适用于简单任务,但多波束可提供更精确…

【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献

【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献 1 题目 1.1 问题背景 多波束测深系统是利用声波在水中的传播特性来测量水体深度的技术,是在单波束测深的基础上发展起来的,该系统在与航迹垂直的平面内一次能发射出数十个乃至上百个…

【C刷题】day1

一、选择题 1.正确的输出结果是 int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf("%d,%d\n",x, y); return 0; } 【答案】: 3,8 【解析】: 考点: &#xff…

Linux DirtyPipe权限提升漏洞 CVE-2022-0847

Linux DirtyPipe权限提升漏洞 CVE-2022-0847 漏洞描述 CVE-2022-0847-DirtyPipe-Exploit CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权…

(其他) 剑指 Offer 67. 把字符串转换成整数 ——【Leetcode每日一题】

❓ 剑指 Offer 67. 把字符串转换成整数 难度:中等 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为…

Mybatis复杂查询及动态SQL

文章目录 一. 较复杂的查询操作1. 参数占位符#{}和${}2. SQL注入3. like查询4. resultType与resultMap5. 多表查询5.1. 一对一表映射5.2. 一对多表映射 二. 动态SQL1. if标签2. trim标签3. where标签4. set标签5. foreach标签 本篇中使用的数据表即基础映射类都是基于上一篇博客…

【C++进阶】多态

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

Unity实现2D游戏跟随摄像机(平滑移动)

文章目录 玩家角色脚本字段跟随逻辑 完整代码其他相关文章连接 玩家角色 首先创建一个可用的玩家角色,写好移动逻辑,如果要使用在Unity商店中购买的资源,可以点击Window菜单栏> Package Manager选项,来打开Package Manager窗口…

应急响应-Windows挖矿实战

0x00 主机表现 windows主机cpu拉满,主机卡顿,初步判断为中了挖矿病毒 0x00 处置 通过cpu拉满状态,定位初步的进程文件, 通过进程得到的文件上传沙箱,结果显示为恶意文件, 定位到文件夹, 存…