SpringCloudAlibaba Nacos配置中心与服务发现

目录

1.配置

1.1配置的特点

只读

伴随应用的整个生命周期

多种加载方式

配置需要治理

1.2配置中心

 2.Nacos简介

2.1特性

服务发现与服务健康检查

动态配置管理

动态DNS服务

服务和元数据管理

3.服务发现


1.配置

应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。

1.1配置的特点

只读

对于程序员是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置

伴随应用的整个生命周期

在启动时通过读取配置来初始化,在运行时根据配置调整行为。例如启动时需要读取服务的端口号、系统在运行过程中需要读取定制策略执行定时任务。

多种加载方式

常见的有程序内部的hard code,配置文件,环境变量,启动参数,基于数据库等。

配置需要治理

同一份程序在不同的环境(开发、测试、生产),不同的集群(如不同的数据中心)京城需要有不同的配置,所以需要有完善的环境,集群配置管理。

1.2配置中心

在微服务架构中,当系统从一个单体应用拆分成分布式系统上一个个服务节点后,配置文件必须跟着迁移(分隔),这样配置就分散。

配置中心将配置从各个应用中分离出来,对配置进行统一管理,应用自身不需要自己去配置管理。

 2.Nacos简介

阿里的开源产品,针对微服务架构中的服务发现、配置管理、服务治理的总和型解决方案。

官网:https://nocas.io/

2.1特性

四大功能

服务发现与服务健康检查

nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时检查,防止向不健康的主机或服务实例发送请求。

动态配置管理

动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新部署应用程序,这使配置的更改更加高效和灵活。

自动定义扩展的Data Id配置 ,内部配置优先级最高,配置优先级:扩展的Data Id中 n 越大优先级越大。bootstrap.yml的加载顺序优先于application.yml。

完全关闭配置:通过设置spring.cloud.nacos.config.enable=false来完全关闭Spring Cloud Nacos Config。

nacos可以集群部署。

@Value注解是Spring框架提供的注解,用于获取配置文件中的值,可以用于获取任意配置文件(如application.properties、application.yml)中的配置项。使用@Value注解时,需要指定配置项的完整路径,例如:@Value("${config.key}")。

nacos启动命令(Windows):startup.cmd -m standalone

打开浏览器输入 http://localhost:8848/nacos,即可访问服务, 默认账号密码是nacos、nacos

动态DNS服务

Nacos提供基于DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以域名的方式暴露端点,,让三方应用方便的查阅及发现。

服务和元数据管理

Nacos能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。

3.服务发现

微服务架构中,整个系统会按职责能力划分为多个服务,通过服务之间协作来实现业务目标。这样在我们的代码中就需要进行服务间的远程调用,服务的消费方要调用服务的生产方,为了完成一次请求,消费方需要知道服务生产方的网络位置(IP地址和端口号)。

·

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

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

相关文章

基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网

1、什么是以太网? 还记得初学以太网的时候,我就被一大堆专业名词给整懵了:什么以太网,互联网,MAC,IP,局域网,万维网,网络分层模型等等等等。慢着!我学的不是以太网吗?怎么出来这么一大堆东西? 啊!以太网究竟是什么?别急,我接下来就尽量用通俗的大白话来给你解释…

UML-各种图

什么是类图 定义系统中的类,描述类的内部结构(属性、方法等),表示类之间的关系(泛化、实现、依赖、关联、聚合、组合)。 UML表示类图 上图中左侧图形是一个常见的类图, 类名:在顶…

vue实现预览编辑ppt、word、pdf、excel、等功能的解决方案(内网-前端)

在Vue中实现预览和编辑PPT、Word、PDF、Excel等文件的功能,尤其是在内网环境下且主要侧重于前端,我们需要明确的是,直接在前端编辑这些格式的文件(特别是PPT和Word)是非常复杂且通常不推荐的,因为这些格式涉…

FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884 (Mac OS X)

FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884 (Mac OS X) 主页多媒体音频编辑FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884... FL Studio 图标 FL Studio(前身为 FruityLoops)是一款功能强大的音乐制作环境或数字音频工作站(DAW&#x…

基于SpringBoot+Hadoop+python的物品租赁系统(带1w+文档)

基于SpringBootHadooppython的物品租赁系统(带1w文档) 基于SpringBootHadooppython的物品租赁系统(带1w文档) 物品租赁系统是电子、信息技术相结合,是一种必然的发展趋势。以互联网为基础,以服务于广大用户为目的,发展整体优势,扩…

计算云服务3

第三章 镜像服务 什么是镜像服务(IMS) 镜像服务(lmage ManagementService,IMS)提供镜像的生命周期管理能力。用户可以灵活地使用公共镜像、私有镜像或共享镜像申请弹性云服务器和裸金属服务器。同时,用户还能通过已有的云服务器或使用外部镜像文件创建…

开启新纪元!被AI驱动的游戏世界,提升游戏体验

随着人工智能的高速发展,人工智能逐渐应用到了生活中的方方面面,人工智能在游戏中也有诸多应用,在游戏里领域扮演了相当重要的角色。游戏AI是伴随着电子游戏而出现的,在早期的游戏中就出现了对抗类AI角色,后来逐渐出现…

操作系统|day1.了解操作系统

文章目录 了解操作系统定义目的操作系统体系结构功能特征操作系统的区别(64位与32位)操作系统的地址内存管理缓存 了解操作系统 定义 操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件 目的 方便性,有效性(提高系统资源的利用率,提高系统的吞吐量) 操作系统体…

WEB安全:网络安全常用术语

一、攻击类别 漏洞:硬件、软件、协议,代码层次的缺陷。 后⻔:方便后续进行系统留下的隐蔽后⻔程序。 病毒:一种可以自我复制并传播,感染计算机和网络系统的恶意软件(Malware),它能损害数据、系统功能或拦…

RAG的学习与实践——LangChain和LlamaIndex学习笔记

RAG RAG(Retrieval Augmented Generation)系统,代表“检索增强生成”。RAG由五个关键步骤组成: 加载:这是指将数据从其所在位置(无论是文本文件、PDF、其他网站、数据库还是 API)获取到您的管道中。LlamaHub提供数百…

【Swiper】轮播图 笔记

文章目录 场景代码(6.8.4)代码(11.1.4) 场景 官网:Swiper - 最现代的移动触控滑块 - Swiper 中文 最近用svelte写轮播图,用了Swiper组件。需求是:一共三张图,来回切,保…

基于YOLOv8深度学习的CT扫描图像肾结石智能检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

comsol达西定律的小例子

comsol达西定律的小例子

【深度学习基础】环境搭建 Linux报错bash: conda: command not found...

目录 一、 问题描述二、 解决方法1. 在.bashrc文件中添加环境变量2. 卸载重装anconda 三、总结 一、 问题描述 在linux环境下安装anaconda时候报错:bash: conda: command not found… 二、 解决方法 1. 在.bashrc文件中添加环境变量 参考链接:【解决】…

【单片机毕业设计选题24054】-基于STM32的水质检测系统

系统功能: 主要功能模块原理图: 电源时钟烧录接口: 单片机和按键输入电路: 传感器采集电路: 资料获取地址 系统主要功能模块代码 初始化代码: /* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration-----------------------------------------------…

电脑虚拟摄像头怎么使用?电脑摄像头可以被虚拟摄像头替代吗?8款推荐!

在数字化日益普及的今天,视频通话和在线会议已成为我们生活和工作中不可或缺的一部分。然而,当我们的电脑没有配备摄像头,或摄像头出现故障时,我们可能会面临一些不便。这时,电脑虚拟摄像头便成为了一个实用的解决方案…

前端面试题37(js递归)

在JavaScript中,递归是一种编程技术,它允许函数调用自身来解决问题。这种方法通常用于处理分治策略的算法,比如遍历树形结构、计算阶乘、 Fibonacci数列等。下面通过几个示例来说明如何使用递归。 1. 计算阶乘 阶乘是一个经典的递归示例&am…

[激光原理与应用-102]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 6 - 激光焊接系统的组成

目录 一、激光焊接系统的组成概述 1.1、核心部件 1.2、焊接执行部件 1.3、辅助系统 1.4、控制系统 1.5、其他辅助设备 二、激光器 2.1 按出光类型分 1. 脉冲激光器 2. 连续激光器 3. 准连续激光器(QCW) 4. 其他常见激光器 5. 应用领域 2.2…

C 语言中如何进行冒泡排序?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代,看过的人都说好。 文章目…

JVM内存泄露的ThreadLocal详解

目录 一、为什么要有ThreadLocal 二、ThreadLocal的使用 三、实现解析 实现分析 具体实现 Hash冲突的解决 开放定址法 链地址法 再哈希法 建立公共溢出区 四、引发的内存泄漏分析 内存泄漏的现象 分析 总结 错误使用ThreadLocal导致线程不安全 一、为什么要有Thr…