nacos的服务注册与配置(一)

这篇具有很好参考价值的文章主要介绍了nacos的服务注册与配置(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、nacos服务注册

nacos是阿里巴巴的一个服务注册与配置的组件,它的功能齐全
官网地址:nacos
下载nacos安装包解压使用
这里我使用的1.4的版本windows
nacos的服务注册配置教程,java,微服务,spring cloud先在bin目录进行cmd操作,单例模式启动命令:
"startup.cmd -m standalone"
nacos的服务注册配置教程,java,微服务,spring cloud
默认用户名和密码都是:nacos,默认端口:8848
接下来我们将orderservice和userservice服务注册到nacos
由于nacos是阿里的组件,后来加的,我们需要在父工程中添加依赖

 <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
      <version>2.2.5.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
 </dependency>

然后在userservice和orderservice中添加nacos的依赖

  <!-- nacos-discovery 注册中心 -->
   <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
   </dependency>

创建bootsrtap.yml文件,因为它加载顺序在application.yml之前
添加nacos的配置信息

spring:
  application:
    name: userservice  #服务名称
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos配置中心     

启动服务,浏览器访问
nacos的服务注册配置教程,java,微服务,spring cloud

nacos服务多级存储模型

为了防止服务不可用之后,导致所有的都受到影响,我们可以配置多级存储模型。
这里我们可以将userservice修改为cd集群,orderservice修改为xa集群
修改userservice配置文件

spring:
  application:
    name: orderservice
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos配置中心
        cluster-name: cd  #服务多级存储配置

orderservice配置同理
启动服务
nacos的服务注册配置教程,java,微服务,spring cloud

nacos负载均衡

nacos同样也可以实现负载均衡,在配置文件里面添加相关配置

spring:
  application:
    name: orderservice
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos配置中心
        cluster-name: xa
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.albaba.cloud.nacos.ribbon.NacosRule #nacos负载均衡配置

nacos权重配置

在实际项目中,我们会考虑服务器的性能之类的,如果服务器的性能
比较高一点,我们可以让它多访问。这里就可以设置权重
当权重为0时,服务不会被访问到。
比如:当我们版本升级时,不用停止服务之类的,我们可以把服务的权重调为0,然后进行升级,慢慢调高权重值。
nacos的权重介入:0~1之间
nacos的服务注册配置教程,java,微服务,spring cloud

nacos命名空间 namespace

命名空间就是将环境进行隔离,不同命名空间之前不能进行访问。新建命名空间
默认是public的命名空间
nacos的服务注册配置教程,java,微服务,spring cloud
nacos的服务注册配置教程,java,微服务,spring cloud
比如我们先将orderservice放在dev环境下,配置如下

spring:
  application:
    name: orderservice
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos配置中心
        cluster-name: xa
        namespace: 35eccc51-fc2f-49e7-aecc-4fbd2944c746  #命名空间的配置,命名id
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.albaba.cloud.nacos.ribbon.NacosRule #nacos负载均衡配置

nacos的服务注册配置教程,java,微服务,spring cloud
此时浏览器访问就会报错,因为不在同一个环境下,环境被隔离了
nacos的服务注册配置教程,java,微服务,spring cloud
我们在将userservice服务也配置到dev环境下,再次访问进行测试
nacos的服务注册配置教程,java,微服务,spring cloud

二、nacos配置管理

这里就需要再添加一个依赖

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

新建配置
nacos的服务注册配置教程,java,微服务,spring cloud

读取配置

先在配置文件中添加相关配置信息

spring:
  application:
    name: orderservice
  profiles:
    active: dev   #激活dev环境
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos配置中心
#        cluster-name: xa
        namespace: 35eccc51-fc2f-49e7-aecc-4fbd2944c746  #命名空间的配置,命名id
      config:
        file-extension: yaml

#userservice:
#  ribbon:
#    NFLoadBalancerRuleClassName: com.albaba.cloud.nacos.ribbon.NacosRule #nacos负载均衡配置

我们在controller层添加一个测试方法,用来获取配置文件

   @GetMapping("/getDate")
    public String getDate(){
        return LocalDate.now().format(DateTimeFormatter.ofPattern(dateFormat));
    }

通过@Value注解来获取信息

@Value(“${pattern.dateFormat}”)
private String dateFormat;

这里在说一个注解 "@RefreshScope" 这是配置热更新,在controller类上添加
浏览器进行测试访问,结果报了这个错误
nacos的服务注册配置教程,java,微服务,spring cloud
查找原因是我把类用错了,应该使用LocalDateTime这个类,不然没有HH这个参数的,改了之后,再次访问就可以啦!!!
nacos的服务注册配置教程,java,微服务,spring cloud

@ConfigurationProperties注解

创建配置类
"@ConfigurationProperties(prefix = "pattern")" 通过前缀来读取配置文件

package cn.itcast.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author Administrator
 */

@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class DateProperties {
    private String dateFormat;
}

修改controller层的代码
注释掉之前的读取配置的方法
nacos的服务注册配置教程,java,微服务,spring cloud
启动服务,再来测试
这次改下日期格式
nacos的服务注册配置教程,java,微服务,spring cloud
nacos的服务注册配置教程,java,微服务,spring cloud文章来源地址https://www.toymoban.com/news/detail-776048.html

到了这里,关于nacos的服务注册与配置(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务 – Spring Cloud – Nacos服务注册、发现

    1、引入依赖 父pom依赖 子pom依赖 2、配置文件 3、主启动类 第三部完成 打开nacos 在服务列表即可看到注册进来的服务. 4、业务类 写一个接口供服务发现者使用 1、引入依赖 2、配置文件 3、主启动类 打开nacos 在服务列表即可看到注册进来的服务. 4、发现第一个服务 并调用第一

    2024年02月11日
    浏览(85)
  • 【微服务 Spring Cloud Alibaba】- Nacos 服务注册中心

    目录 1. 什么是注册中心? 1.2 注册中心的作用 2. SpringBoot 整合 Nacos 实现服务注册中心 2.1 将服务注册到 Nacos 2.2 实现消费者 3. 服务列表各个参数的含义、作用以及应用场景 注册中心是微服务架构中的一个重要组件,它用于实现 服务注册 与 服务发现 。 【思考一】什么叫服务

    2024年02月06日
    浏览(75)
  • Spring Cloud Alibaba - 服务注册与发现(Nacos)

    ✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:微服务 🥭本文内容:Spring Cloud Alibaba - 服务注册与发现(Nacos)。 在微服务架构中,服务注册与发现是其中的重要一环。服务

    2024年02月07日
    浏览(86)
  • 【Spring Cloud Alibaba】2.服务注册与发现(Nacos安装)

    我们要搭建一个 Spring Cloud Alibaba 项目就绕不开 Nacos ,阿里巴巴提供的 Nacos 组件,可以提供服务注册与发现和分布式配置服务,拥有着淘宝双十一十几年的流量经验,还是非常的可靠的。 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环

    2024年01月23日
    浏览(57)
  • Spring Cloud微服务在Windows本地开发时禁用Nacos注册中心注册

    码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 本文将介绍如何在Spring Cloud微服务架构中,实现在Windows本地开发环境下禁用服务自动注册到Nacos注册中心,而在Linux服务器环境下则自动启用注册功能。这样的配置有助于开发者在本

    2024年03月18日
    浏览(113)
  • Spring Cloud Gateway集成Nacos作为注册中心和配置中心

    本篇文章将介绍Spring Cloud Alibaba体系下Spring Cloud Gateway的搭建,服务注册中心和分布式配置中心使用Nacos,后续将会持续更新,介绍集成Sentinel,如何做日志链路追踪,如何做全链路灰度发布设计,以及Spring Cloud Gateway的扩展等。 ​ Spring Boot,Spring Cloud,Discovery,Config等基础依

    2024年02月11日
    浏览(105)
  • Spring Cloud中微服务已经启动,但是没有注册到nacos中心

    今天写了一个Spring Cloud模块,然后启动测试效果,结果一直报503或者401的错误,排查后发现是服务启动,但是没有注册到nacos中心。 这是后端已经启动模块:  这是nacos中心: 可以看出,这里模块没有注册到nacos中。 找了一下午的博客,发现那些不是说的spring-boot-starter-web起

    2024年02月10日
    浏览(52)
  • 【Spring Cloud】深入探索 Nacos 注册中心的原理,服务的注册与发现,服务分层模型,负载均衡策略,微服务的权重设置,环境隔离

    在微服务架构中,服务注册中心是整个体系中的关键组件之一。它负责服务的注册、发现和管理,为微服务之间的通信提供了基础设施。在这方面,Nacos(Namespace Aware Clustered Object Storage)作为一种服务发现和配置管理系统,提供了丰富的功能,旨在简化微服务架构中的服务注

    2024年02月06日
    浏览(184)
  • 微服务 – Spring Cloud – Nacos 配置中心

    Data ID : nacos-config-client-dev.yaml Group: DEV-CLOUD2023

    2024年02月11日
    浏览(63)
  • Spring Cloud集成Nacos实现服务配置中心 | Spring Cloud 7

    先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。 配置文件无法区分环境,开发环境、测试环境、线上环境。微服务项目可能会

    2024年02月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包