01.Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用

01 Spring Cloud Alibaba 是什么 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 阅读详情

Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Nacos 作为其核心组件之一,可以作为注册中心和配置中心使用,本文将对其用法进行详细介绍。

1.Nacos简介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 具有如下特性:

  • 服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;
  • 动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置;
  • 动态 DNS 服务:动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务;
  • 服务及其元数据管理:支持从微服务平台建设的视角管理数据中心的所有服务及元数据。

2.使用Nacos作为注册中心

2.1 安装并运行Nacos
2.1.1 我们先从官网下载Nacos,这里下载的是nacos-server-1.1.4.zip文件,下载地址:https://github.com/alibaba/nacos/releases
2.1.2 配置JAVA_HOME环境变量,不配置会导致无法运行Nacos;
2.1.3 解压安装包,直接运行bin目录下的startup.cmd;
2.1.4 运行成功后,访问http://localhost:8848/nacos可以查看Nacos的主页,默认账号密码都是nacos。

在这里插入图片描述

2.2 创建应用注册到Nacos

我们通过改造consul-user-service和consul-ribbon-service来演示下服务注册与发现的功能,主要是将应用原来的Consul注册中心支持改为Nacos注册中心支持。

2.2.1 创建nacos-user-service模块和nacos-ribbon-service模块;
2.2.2 如果要使用Spring Cloud Alibaba 的组件都需要在pom.xml中添加如下的配置;
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
2.2.3 修改相关依赖,把原来的Consul注册发现的依赖改为Nacos的:
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.2.4 修改配置文件application.yml,将Consul的注册发现配置改为Nacos的:
server:
  port: 8206
spring:
  application:
    name: nacos-user-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos地址
management:
  endpoints:
    web:
      exposure:
        include: '*'
2.2.5 运行两个nacos-user-service和一个nacos-ribbon-service,在Nacos页面上可以看到如下信息:

youjiettu

2.3 负载均衡功能

由于我们运行了两个nacos-user-service,而nacos-ribbon-service默认会去调用它的接口,我们调用nacos-ribbon-service的接口来演示下负载均衡功能。

多次调用接口:http://localhost:8308/user/1 ,可以发现两个nacos-user-service的控制台交替打印如下信息。

3.使用Nacos作为配置中心

我们通过创建nacos-config-client模块,并在Nacos页面中添加配置信息来演示下配置管理的功能。

3.1 创建nacos-config-client模块

3.1.1 在pom.xml中添加相关依赖:
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3.1.2 添加配置文件application.yml,启用的是dev环境的配置:
spring:
  profiles:
    active: dev
3.1.3 添加配置文件bootstrap.yml,主要是对Nacos的作为配置中心的功能进行配置:
server:
  port: 9101
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos地址
      config:
        server-addr: localhost:8848 #Nacos地址
        file-extension: yaml #这里我们获取的yaml格式的配置
3.1.4 创建ConfigClientController,从Nacos配置中心中获取配置信息:
@RestController
@RefreshScope
public class ConfigClientController {

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/configInfo")
    public String getConfigInfo() {
        return configInfo;
    }
}
3.2 在Nacos中添加配置
3.2.1 我们先来讲下Nacos中的dataid的组成格式及与SpringBoot配置文件中的属性对应关系:

spring.application.name−{spring.application.name}-spring.application.name−{spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

3.2.2 比如说我们现在要获取应用名称为nacos-config-client的应用在dev环境下的yaml配置,dataid如下:

nacos-config-client-dev.yaml

3.2.3 按照以上dataid添加如下配置:
config:
  info: "config info for dev"
3.2.4 填写配置示意图:

youjietu

3.2.5 启动nacos-config-client,调用接口查看配置信息:http://localhost:9101/configInfo

config info for dev

4.Nacos的动态刷新配置

我们只要修改下Nacos中的配置信息,再次调用查看配置的接口,就会发现配置已经刷新,Nacos和Consul一样都支持动态刷新配置。当我们在Nacos页面上修改配置并发布后,应用会刷新配置并打印如下信息。

5.参考资料

Spring Cloud Alibaba 官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki

6.使用到的模块

Spring-Cloud-Greenwich
├── nacos-config-client – 用于演示nacos作为配置中心的nacos客户端
├── nacos-user-service – 注册到nacos的提供User对象CRUD接口的服务
└── nacos-service – 注册到nacos的ribbon服务调用测试服务

7.项目源码地址

https://github.com/yanglin1501804006/spring-cloud-vGreenwich.SR3

Spring Cloud Alibaba(一):使用 Nacos + Dubbo 实现的远程服务调用 前言 本示例需要先启动好 Nacos 服务,关于 Nacos 的安装与启用,请参见 Nacos 快速开始 ; 本示例共三个模块,完整代码见: m01-nacos-dubbo-api m01-nacos-dubbo-provider m01-nacos-dubbo-consumer 本示例使用的版本如下: Spring Cloud Version Spring Cloud Alibaba Version Spring Boot Version Finchley.SR1 2.0.2.RELE 阅读详情

相关推荐

Spring Cloud Alibaba微服务架构实战教程—10集成nacos注册中心

前言 如图,在微服务架构的系统中,当服务A调用服务B、服务C时,若服务A不知道B、C服务所在的服务器是可用还是不可用状态,就会不停发起请求做无用功。如何解决这类问题呢?——建立注册中心。 一、什么是注册中心? 注册中心主要保存了各个可用服务的网络地址,如ip和port等信息。 在服务相互调用时,可以统一把服务名字都注册到中心,该中心则记录这些服务的不同名称和当前状态,通过心跳机制来动态感知服务的状态,以此来准确帮助服务之间的交互。 二、注册中心的组件 在SpringCloud架构中,可以作为注册中心的

空空说技术的博客 782

SpringCloudAlibaba快速入门(3)Nacos配置多环境管理

所谓多环境管理,就是为每个环境准备一套配置文件,在相应环境部署应用时,读取相应的配置文件即可,这些对于程序而言是透明的,从而达到一套代码,根据环境配置,获得不同实现。 本文将基于 profile 及 namespace 分别实现多环境配置管理,并在最后讲述多配置文件加载,实现配置文件动静分离。

死牛胖子的技术随笔 1042

[后端设计]innovus命令editPin详解?

先放命令,有空慢慢写。

m0_61003348的博客 5731

springboot整合nacos作为配置中心和注册中心

springboot 整合 nacos 作为注册中心和配置中心,三分钟学会的超简单的教程。

小明程序猿 1万+

CS5523实战:如何用国产芯片完美替代LT8911设计MIPI转eDP电路(附原理图)

本文详细介绍了使用国产芯片CS5523完美替代LT8911进行MIPI转eDP电路设计的实战经验。文章从芯片选型、核心特性对比入手,深入剖析了电源时钟设计、MIPI/eDP接口的PCB布局与信号完整性要点,并提供了完整的原理图参考和调试排错指南,为硬件工程师实现国产化替代提供了清晰可行的方案。

yhn4567890的博客 1140

Github多人协作

最近有门课程需要几个人一起开发一个项目,此前我们基本都是单干的,多人合作意味着需要及时将我们每个人的代码进行合并,U盘传文件这种方式太慢了,效率不行,而且没法解决两个人同时修改一个文件的问题,这次我们就尝试使用Github来协助开发。下面就来记录一下这次开发遇到的一些问题和解决的方法。 Git的安装 从官网下载最新版按照默认安装即可。 此处不多加说明。 Git常用命令 在此放上一...

yzr1216的博客 1万+

P23 启动Nacos配置管理中心

但是此时无法在我们配置的coupon命名空间中找到属于Group内dev分组的gulimall-coupon.properties,所以就使用了项目中的gulimall-coupon.properties.随着业务不断壮大,微服务的配置会非常多,将所有配置写在一个配置文件中不现实.一般的做法是拆分成不同的配置文件,比如跟数据源有关的配置文件写在一起,跟框架有关的写在一起等等.也可以每一个微服务之间相互隔离配置,为每一个微服务都创建自己的命名空间.只加载自己的命名空间下的配置.

fjj789的博客 260

李宏毅机器学习笔记第17周_概述领域自适应(Domain Adaptation)

Domain Adaptation

peaunt1的博客 1104

Spring Cloud Alibaba-03-Nacos之配置中心、命名空间分组和DataID的关系

配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散 在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环 境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动 维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一 个正在运行的项目来说是非常不友好的。基于上面这些问题,我们就需要配置中心的加入来解决这些问题。

苍云烟 1162

EPLAN二次开发实战指南:从API接口到定制化界面

本文为EPLAN二次开发实战指南,详细介绍了从搭建C#开发环境、理解API接口到创建定制化插件的完整流程。通过实战案例,如批量修改设备属性和设计交互式界面,帮助电气工程师利用EPLAN二次开发实现工作流程自动化与深度定制,从而显著提升设计效率。

weixin_29246195的博客 804

Zabbix 简介、优缺点、基础原理

(8条消息) Zabbix 的基础概念、原理和架构_Lee木木的博客-优快云博客_zabbix架构类型Zabbix 的基础概念、原理和架构_Lee木木的博客-优快云博客_zabbix架构类型 --------------------------------------------------------------------------------------------------------------------------- 一、Zabbix 简介 Zabbix是由A...

weixin_50196615的博客 2037

SSM整合 spring + springmvc + mybatis 巨详细步骤,从0开始

spring + springmvc + mybatis

awodwde的博客 821

点到面点云配准(Point To Plane)算法知识详解和详细推导,C++代码实现

点到面 ICP (Iterative Closest Point) 是在 3D 点云配准中常见的一种变体,通过最小化点到对应面(由法向量定义的局部平面)的距离来提高收敛速度和精度。

qq_36812406的博客 1809

Spring Cloud Alibaba教程:使用Nacos作为配置中心

转载请标明出处: https://blog.csdn.net/forezp/article/details/90142744 本文出自方志朋的博客 在上一篇文章中讲解了如何使用Nacos作为服务注册中心注册。Nacos除了可以作为服务注册中心,它还有服务配置中心的功能。类似于consul config,Nacos 是支持热加载的。本篇文章将讲述如何使用Nacos作为配置中心。 本案例是在上一篇...

方志朋的专栏 11万+

基于YOLO-world训练模型的完整教程:从数据准备到微调训练

本文提供了YOLO-world模型训练的完整教程,涵盖从环境配置到微调训练的全流程。首先介绍了YOLO-world项目的安装与配置步骤,包括依赖安装和CUDA环境设置;接着详细说明了数据集的准备方法,包括COCO格式数据集的组织结构和自定义数据集的类别定义;然后阐述了配置文件的修改要点,包括超参数调整和数据集路径设置;最后讲解了训练命令的使用方法及常见问题的解决方案。本教程旨在帮助读者快速掌握YOLO-world模型的训练技能,适用于计算机视觉领域的研究人员和开发者。

FJN110的博客 1108

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

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

SpringCloud Alibaba 2021版 nacos 配置中心教程

文章目录nacos 配置中心 是什么nacos config 和 springcloud config 对比常用配置中心对比支持profile粒度的配置快速入门 nacos 配置中心 是什么 nacos config 和 springcloud config 对比 springcloud config大部分场景结合git 使用, 动态变更还需要依赖Spring Cloud Bus 消息总线来通过所有的客户端变化. springcloud config不提供可视化界面 nacos config使用长轮询更新

做一个有思想的技术人 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Spring Cloud Alibaba】Nacos 配置中心(二)

用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。在没有明确指定配置的情况下, 默认使用的是 Nacos 上 Public 这个namespace。注意:该配置必须放在 bootstrap.properties 文件中。

Blue_Pepsi_Cola的博客 1618

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

spring-cloud-alibaba2.2.x nacos配置中心使用

spring-cloud-alibaba2.2.x nacos配置中心使用 文章目录spring-cloud-alibaba2.2.x nacos配置中心使用1、badger-spring-cloud-alibaba-config-client项目搭建1.1、maven的pom文件如下,就是一个普通的web的springboot项目,加入了nacos的`nacos-discovery`的包,以及`spring-cloud-starter-alibaba-nacos-config`包1.2、yaml的配置

鸭鸭的博客 1813

Spring Cloud Alibaba整合Nacos避坑指南:配置中心与注册中心的最佳实践

本文详细介绍了Spring Cloud Alibaba整合Nacos的最佳实践,涵盖配置中心与注册中心的核心功能。通过Nacos实现服务发现与配置管理的统一平台,提供动态IP管理、实时配置推送等关键特性,显著提升微服务架构的效率和稳定性。文章还包含集群部署、安全加固、性能调优等实战指南,帮助开发者规避常见问题。

herb5的博客 603

芋道 Spring Cloud Alibaba 注册中心 Nacos 入门

点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络...

芋艿V 1103

Spring Cloud Alibaba 01_使用 nacos 实现服务治理和配置中心

Spring Cloud Alibaba 01_使用 nacos 实现服务治理 创建 spring Boot 父工程 springcloudalibabademo,修改版本为 2.3.0.RELEASE <?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"

BLU_111的博客 12万+

Spring Cloud Alibaba实战01|Nacos入门服务注册与配置中心

本章完整走完 Nacos 本地部署、项目整合全流程,落地服务注册、远程配置、动态刷新三大核心能力,同时梳理面试高频的 Nacos 与 Eureka 核心差异。

tukaliu的专栏 307

详细剖析Spring Cloud 和Spring Cloud Alibaba的前世今生

"微服务”一词源于 Martin Fowler的名为 Microservices的,博文,可以在他的官方博客上找到martinfowler . com/articles/microservices.html简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的 RESTfuL AP进行通信协作。常见微服务框架:Spring的spring cloud、阿里dubbo、华为ServiceComb、腾讯Tars

weixin_38979885的博客 1391

【微服务架构】SpringCloud Alibaba(一):Nacos作为注册中心(安装以及编译、领域模型、使用)

我们可以设想这样的一个场景,比方阿里只在杭州部署一个淘宝的集群,那我们北方的人民去访问,是不是就会相对较慢,一般都会再南方和北方都设置两个集群。当北方人民访问的时候一般我们都访问北京这个集群的服务,其他的服务都会在北京的集群里面互相调用,而不会垮cluster进行访问,这样在同一个数据中心访问都是比较快的。Instance: 这个就是实例,并且是多实例的,这样防止单点问题,从而实现高可用,当北京集群坏了,他会可以访问上海的集群。当一个实例挂掉,另一个实例会替代,当一个集群挂掉,另一个集群会替代上。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

Nacos框架整合 01,Spring Cloud Alibaba 整合 Nacos:服务注册与配置管理实战

本文介绍了Spring Cloud Alibaba与Nacos的整合应用,重点讲解了微服务架构中服务注册与配置管理的实现。主要内容包括:1) 环境准备,详细说明了版本兼容性要求和Nacos服务端安装;2) 服务注册实战,通过创建服务提供者项目,配置Nacos注册信息,并验证服务注册功能;3) 配置管理基础,为后续深入讲解配置中心功能做准备。文章采用循序渐进的方式,结合具体代码示例,帮助开发者快速掌握Spring Cloud Alibaba与Nacos的核心集成技术。

码路同行 904

Spring Cloud Alibaba Nacos Discovery 组件介绍

1. 概述 Spring Cloud Alibaba提供的Spring Cloud Alibaba Nacos Discovery组件,基于 Spring Cloud 的编程模型,接入 Nacos 作为注册中心,实现服务的注册与发现。 服务注册/发现: Nacos Discovery 服务发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容。 Nacos Discovery 可以帮助您将...

liuerchong的博客 2万+
上一篇: MySQL中复制表/结构的写法
下一篇: 01-使用NodeJS创建API接口,连接mysql数据库
Spring的思念
博客等级 码龄7年 80粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值