Nacos分布式配置中心和服务注册中心

Nacos学习 阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。(用来实现配置中心和服务注册中心)1、refresh-enabled属性:用来开启、关闭动态刷新(值为false后nacos客户端无法感知配置的变化)refresh-enabled: false #用来开启、关闭动态刷新。 阅读详情

分布式配置中心

Nacos Spring Cloud 快速开始

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.11.RELEASE</version>
        <relativePath/> 
    </parent>
    <groupId>com.x</groupId>
    <artifactId>spring-cloud-alibaba-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <properties>
        <java.version>1.8</java.version>
        <spring.cloud.version>Hoxton.SR8</spring.cloud.version>
        <spring.cloud.alibaba.version>2.2.5.RELEASE</spring.cloud.alibaba.version>
    </properties>
<modules>
    <module>spring-cloud-nacos</module>
</modules>
    <dependencyManagement>
        <dependencies>
            <!--Spring Cloud的版本管理-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
           <!--Spring Cloud Alibaba的版本管理-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>

    </build>

</project>

1. 引入依赖

     <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     </dependency>

2.新建bootstrap.properties

在使用Nacos作为配置中心时,推荐在bootstrap.properties或bootstrap.yml中配置Nacos相关信息,而不是在application.properties或application.yml中,原因主要涉及Spring Boot的启动过程和配置加载顺序:

1.早于主应用加载:bootstrap.properties或bootstrap.yml会在application.properties或application.yml之前被加载。这意味着Nacos客户端的配置信息可以在应用的主配置被处理之前就被初始化,包括获取远程配置的能力。这样,应用在启动时就能使用从Nacos配置中心获取的配置,而非本地静态配置,实现了配置的动态性和灵活性。

2.配置优先级:bootstrap配置的优先级高于application配置,这保证了从Nacos加载的配置可以覆盖本地默认配置,满足了外部化配置的需求,即运行时的配置能够覆盖编译时的配置。

3. 配置如下:

spring.application.name = wms-app

spring.cloud.nacos.config.server-addr = 192.168.11.48:8848

#name 就是Nacos里面的dataId,如果不配置就默认使用 spring.application.name
spring.cloud.nacos.config.name = ${spring.application.name}

#如果不配置默认使用的命名空间是 public,如果你配置了就去该命名空间下查找对应表的dataId
spring.cloud.nacos.config.namespace = dev

#如果不配做就使用DEFAULT_GROUP去找对应配置,如果指定就按照指定的去找
#spring.cloud.nacos.config.group =  V2


# 决定这个应用读取的是哪个配置文件: namespace +  group  + dataId 三部分缺一不可

4.通过 Spring Cloud 原生注解@RefreshScope 实现配置自动更新

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {

    @Value("${boy.name:潘周聃}")
    private String name;

    @RequestMapping("/get")
    public String get() {
        return this.name;
    }
}

Nacos服务注册中心

1.引入依赖

  <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  </dependency>

2.application.properties中配置

# 应用名称
spring.application.name=nacos-a

server.port=8080

# Nacos 服务发现与注册配置,其中子属性 server-addr 指定 Nacos 服务器主机和端口
spring.cloud.nacos.discovery.server-addr=localhost:8848
# 注册到 nacos 的指定 namespace,默认为 public
spring.cloud.nacos.discovery.namespace=public
更多配置:

Nacos discovery · alibaba/spring-cloud-alibaba Wiki · GitHub

3 启动应用

启动springboot应用,nacos管理端界面查看是否成功注册

4 调用其它服务

4.1新建应用nacos-b

@RestController
public class HelloController {

    @GetMapping("hello")
    public String hello(){
        return  "hello world";
    }
}

4.2使用RestTemplate进行服务调用,可以使用微服务名称(spring.application.name)

注意:需要添加@LoadBalanced注解

@Configuration
public class RestConfig {

    @Bean
    @LoadBalanced 
    //注意:如果使用服务注册中心,需要添加@LoadBalanced注解
    //加上该注解之后,RestTemplate会把请求的一级目录最为服务名,去服务注册中心抓取对应的ip,然后再去调用对应的接口数据
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}
@SpringBootApplication
public class NacosApplication {

    public static void main(String[] args) {
        
        ApplicationContext ctx = SpringApplication.run(NacosApplication.class, args);

        RestTemplate restTemplate = ctx.getBean(RestTemplate.class);
        String forObject = restTemplate.getForObject("http://nacos-b/hello", String.class);
        System.out.println(forObject);
        
    }

}

5.工作原理

6.触发保护值

要在 Nacos 中配置开启服务实例的保护阈值,你需要在服务消费端(客户端)的 Spring Cloud 配置中添加相应的属性。以下是配置示例,通常是在 application.yml 文件中进行设置:

spring:
  cloud:
    nacos:
      discovery:
        protectThreshold: 0.2

在这个例子中,protectThreshold 设置为 0.2,意味着当服务实例中健康实例的比例低于 20% 时,保护机制将会被触发,Nacos 将返回所有实例(包括健康和不健康)给服务消费者。

SpringCloud(38):Spring Cloud Nacos discovery Starter配置项信息说明 使用Map格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息。当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配。常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生。地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地。产环境的资源(如配置、服务)隔离等。是否开启Nacos Watch。置,则默认取第一块网卡的地址。是否集成Ribbon。 阅读详情

相关推荐

1.微服务介绍

注册中心配置中心服务集群服务网关分布式缓存分布式搜索数据库集群消息队列分布式日志服务系统监控链路追踪Jenkinsdockerk8s。

卷土的博客 855

nacos.discovery 的全部配置

nacos.discovery

lei690485591的博客 4098

华为eNSP与VMware虚拟机联动实战:从零搭建仿真网络环境

本文详细介绍了如何从零开始搭建华为eNSP与VMware虚拟机的联动仿真网络环境。通过环境准备、网络适配器配置、eNSP与VMware网络集成、安全策略与NAT配置等步骤,帮助读者掌握构建企业级网络实验场景的关键技术。这种组合特别适合网络工程师进阶训练和华为认证考试准备,实现低成本、高灵活性的网络仿真实验。

weixin_30415113的博客 502

Nacos服务发现功能的简单使用及基础配置

Nacos服务发现功能的简单使用及基础配置

taolin0的博客 2274

Qt+PCL实战:如何用QVTKOpenGLNativeWidget高效渲染3D点云(附完整代码)

本文深入解析了Qt与PCL结合使用QVTKOpenGLNativeWidget进行高效3D点云渲染的实战技术。通过对比传统QVTKWidget,详细介绍了QVTKOpenGLNativeWidget在渲染效率、内存占用和兼容性方面的显著优势,并提供了完整的代码示例和性能优化策略,助力开发者在工业检测、自动驾驶等领域实现更高效的点云可视化。

keras9composer的博客 686

STM32+4G模块+MQTT协议:从零构建稳定可靠的物联网通讯链路

本文详细介绍了如何利用STM32、4G模块和MQTT协议构建稳定可靠的物联网通讯链路。通过硬件选型、AT指令配置和MQTT连接实战,帮助开发者实现低功耗、高可靠性的数据传输,特别适合户外和移动场景应用。

weixin_29191081的博客 334

Nacos(服务注册与服务配置)

官网下载Nacos安装包并解压,直接运行bin目录下的startup.cmd -m standalone(standalone:单机模式,非集群)。通过Nacos和spring-cloud-starter-alibaba-nacos-config实现中心化全局配置的动态变更。访问地址:http://localhost:8848/nacos 账号密码默认为nacos。配置restTemplate。

qq_52351978的博客 1176

Linux-VMware安装后没有虚拟网卡VMnet1和VMnet8(亲测有效,一步一步跟着绝对成功)

VMware-安装后没有虚拟网卡VMnet1和VMnet8 就这个破东西我昨天弄了一天,网上什么VMware卸载重装,用CCleaner清理注册表什么的操作我全用了,但是昨天就是弄不好,同样的操作我昨天试了无数遍一直觉得可能是 持续更新中… 文章参考学习地址:https://blog.youkuaiyun.com/qq_42445139/article/details/87872130 ...

杨的博客 8845

springboot 中用nacos 做注册中心

我觉得Nacos用起来还不错 在使用SpringCloud做分布式微服务架构时,注册中心是必不可少的一个组件。目前可以用的主要有:Eureka、Consul、Zookeeper。今天,我们就来说一下Alibaba的Nacos怎么样? 下载与安装 下载地址https://github.com/alibaba/nacos/releases 安装: Windows 下载解压后(.zip),直接点击bin/start.bat就可以了。 Linux下载解压后(.tar.gz),同样,也是运

xiaozhu0301的博客 1425

[pytorch] MedicalNet 3D Resnet预训练模型迁移学习实战:从分割到分类的代码改造

本文详细介绍了如何利用PyTorch对MedicalNet 3D ResNet预训练模型进行迁移学习,从分割任务改造为分类任务。通过解析模型结构、调整分类头、加载预训练权重及优化训练策略,帮助开发者在医疗影像领域快速实现高效模型部署。文章还涵盖了数据预处理、增强技巧及模型轻量化等实用内容。

kmeans3miner的博客 245

从CST到AD:高效PCB阵列设计与介质优化实战

本文详细解析了从CST电磁仿真软件到Altium Designer(AD)的PCB阵列设计全流程,重点解决毫米波天线等精密设计中模型导出、介质优化和阵列构建的核心难题。通过实战技巧,指导工程师高效处理DXF文件导入、复杂铜皮填充、空气介质实现等关键步骤,确保高精度设计从仿真到制造的顺利转换,提升工作效率与设计可靠性。

weixin_28256233的博客 439

试试Nacos作注册中心和配置中心,爱不释手的感觉

文章目录我觉得Nacos用起来还不错下载与安装Nacos简介Nacos作为注册中心Nacos作为分布式配置中心pom.xml引入下边依赖application.yml中加入如下配置内容添加一个bootstrap.ymlController中的接口Nacos中的几个空间概念:新建一个配置文件试试Nacos的配置文件持久化 我觉得Nacos用起来还不错 在使用SpringCloud做分布式微服务架构时...

小鱼吃猫 1322

AUTOSAR知识点 之 XCP (二):XCP基础概念

学习XCP的过程中,对XCP的基本概念要做一个全面的认知,因为里面有很多缩写以及难以理解的点,假设对此模模糊糊一知半解,那么对整个协议栈的认知会遇到极大的障碍。XCP的信号流传输图示如下XCP 标准主要分为 5 个部分:这部分提供了对于协议的一个概况介绍,包括 XCP 的功能和基础性内容。这部分内容对协议层进行了详细的规范和说明。

梦想技术家 2769

Nacos!!!

Nacos官网 | Nacos 官方社区 | Nacos 下载 | NacosNacos 通过提供简单易用的动态服务发现、服务配置、服务共享与管理等服务基础设施,帮助用户在云原生时代,在私有云、混合云或者公有云等所有云环境中,更好的构建、交付、管理自己的微服务平台,更快的复用和组合业务服务,更快的交付商业创新的价值,从而为用户赢得市场。

qq_64847107的博客 1300

基于STM32L4XX 、HAL库的SGM452B数字温度传感器驱动应用C语言程序设计

SGM452B_RESOLUTION_12BIT = SGM452B_CONFIG_R1 | SGM452B_CONFIG_R0 /* 12位分辨率,精度0.0625°C,转换时间200ms */SGM452B_RESOLUTION_11BIT = SGM452B_CONFIG_R1, /* 11位分辨率,精度0.125°C,转换时间100ms */SGM452B_RESOLUTION_10BIT = SGM452B_CONFIG_R0, /* 10位分辨率,精度0.25°C,转换时间50ms */

PP_Cottage的博客 327

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Nacos

Nacos官网 | Nacos 官方社区 | Nacos 下载 | Nacos。

weixin_58215826的博客 974

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

nacos需要mysql吗_Nacos-1

介绍1、分布式注册中心、配置中心、管理中心;2、动态服务发现,服务配置,服务元数据和流量管理;3、以简单、优雅、高效的方式管理配置,实现配置的动态变更,大大降低运维成本;使用场景举例1、数据库连接信息等敏感信息,降低因源码暴露导致数据泄露的风险;2、网站运营活动数据利用Nacos做动态配置;3、系统服务参数限制方面,可以用Nacos做动态配置;Nacos下载、安装、启动构建项目安装进入项目目录(p...

weixin_33850554的博客 4837

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Nacos—简述、注册中心、配置中心

把所有的服务都统一的放在 一个中心,后续调用的时候只需要用一个服务名调用远程的服务,而不是用ip地址去调用。

一起加油吧~ 2998

Day9-SpringCloud alibaba服务注册与配置中心Nacos

SpringCloud alibaba nacos教程

欢迎来到风离的个人空间 501

Springboot cloud概念和Nacos

Spring Cloud Eureka:服务发现组件,提供了注册中心、服务注册与发现机制,可以让应用程序自动发现其他应用程序提供的服务。Nacos是一个分布式配置中心和服务注册中心,具有高可用、高扩展性、易用性等特点,本身也是基于Spring Cloud的开源项目之一。注意:-m参数指定启动的模式,standalone表示单机模式,如果需要部署多个nacos实例进行集群管理,则需要启动为集群模式。Spring Cloud Stream:消息驱动组件,可以让应用程序通过简单的配置方式实现消息的发布和消费。

NanCheng_666的博客 334

SpringcloudAlibaba详解---超详细

Nacos致力于帮助您发现,配置和管理微服务。它提供了一组简单有用的功能,使您能够实现动态服务发现,服务配置,服务元数据和流量管理。Nacos使构建,交付和管理微服务平台变得更容易,更快捷。它是通过微服务或云原生方法支持以服务为中心的现代应用程序体系结构的基础架构。说的通俗一些,就是承担了奈飞框架中的Eureka的功能,相当于注册中心,但比Eureka更加智能与便捷。

qq_56438516的博客 2万+

spring cloud 和 阿里微服务spring cloud Alibaba

-------------------------------------普通springcloud eureka 1.eureka注册中心:做了两个eureka服务,以此类推可以做多个,互相注册,高可用,集群部署 2.zipkin跟踪服务:分布式跟踪日志,基于内存存储记录 3.zuul网关路由服务:分发请求,统一管理过滤,结合ribbon负载均衡、hystrix断路器 4.springboot-admin监控中心服务:统一界...

155

分布式基础&项目环境搭建_学习笔记

一、分布式基础概念 1、微服务 微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API。这些服务围绕业务能力来构建,并通过完全自动化部署机制来独立部署。这些服务使用不同的编程语言来书写,以及不同数据存储技术,并保持最低限度的集中式管理。 简而言之:拒绝大型单体应用,基于业务边界进行服务化拆分,各个服务独立部署运行。 2、集群&分布式&节点 集群是个物理形式,分布式是个工作方式。 只要是一堆机器,就可以叫集群,他们

滨海之君的博客 2345

微服务生态与 Spring Cloud Alibaba

通用的微服务架构应包含哪些组件 相对于单体式架构的简单粗暴,微服务架构将应用打散,形成多个微服务进行独立开发、测试、部署与运维。虽然从管理与逻辑上更符合业务需要,但微服务架构也带来了诸多急需解决的核心问题: 如何发现新服务节点以及检查服务节点的状态? 如何发现服务及负载均衡如何实现? 服务间如何进行消息通信? 如何对使用者暴露服务 API? 如何集中管理众多服务节点的配置文件? 如何收集服务节点的日志并统一管理? 如何实现服务间调用链路追踪? 如何对系统进行链路保护,避免微服

LoveSummer 776

SpringCloud(基础篇)笔记

Eureka、Ribbon、Nacos简介

qq_55695456的博客 213

SpringCloud Alibaba Nacos服务注册和配置中心

GitHub地址:https://github.com/alibaba/Nacos中文官网地址:https://nacos.io/zh-cn/

我要记录学习博客 2880
上一篇: Nacos介绍和docker安装
下一篇: RestfulApi & RestTemplate代码规范介绍
涵冰...
博客等级 码龄4年 2438粉丝 243原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涵冰...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值