Nacos基础(2)——nacos的服务器和命名空间 & springBoot整合nacos & 多个nacos配置的情况

这篇具有很好参考价值的文章主要介绍了Nacos基础(2)——nacos的服务器和命名空间 & springBoot整合nacos & 多个nacos配置的情况。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引出


1.nacos是服务发现、配置管理和服务管理平台;
2.nacos的命名空间–>组–>服务;
3.springboot整合nacos,版本的对应;
4.引入多个nacos配置的方法;文章来源地址https://www.toymoban.com/news/detail-772752.html

nacos服务器和命名空间

Nacos服务器

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

用户

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

服务管理,命名空间,集群管理

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

命名空间

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

命名空间唯一id

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

自定义命名空间,公共命名空间

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

如何找到配置文件

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

新建配置

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

层级关系

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

springBoot整合nacos

springcloud Alibaba 版本与springcloud对应关系

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

引包

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tianju.cloud</groupId>
    <artifactId>spring-boot-nacos</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.13</version>
    </parent>

<!--    依赖的管理-->
    <dependencyManagement>
        <dependencies>
            <!--整合springcloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--整合springcloud alibaba-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.0.4.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
    </dependencies>

</project>


nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

配置

bootstrap.yml

spring:
  cloud:
    nacos:
      discovery:
        # 能够注册
        register-enabled: true
        server-addr: http://192.168.111.130:8848/
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        # namespace的id
        namespace: 57bca93f-1161-4649-aec3-da79c3aa7cc2
        # 配置单个的方式
        group: DEV
        name: book-cofig
        file-extension: yaml


  application:
    name: springcloud-nacos

main

package com.tianju.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class NacosApp {
    public static void main(String[] args) {
        SpringApplication.run(NacosApp.class);
    }
}

controller

package com.tianju.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/api/nacos")
@RefreshScope
public class NacosController {

    @Value("${book.name}")
    private String bookName;

    @GetMapping("/hello")
    public Map hello(){
        Map map = new HashMap();
        map.put("hello", bookName);
        return map;
    }
}

报错以及解决【报错】

错误:缺少服务名称

java.lang.IllegalArgumentException: Param ‘serviceName’ is illegal, serviceName is blank

缺少服务名称

application:  
	name: springcloud-nacos

报错:9848端口未开放

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

2023-08-19 10:43:46.534 ERROR 14404 — [ main] c.a.n.c.remote.client.grpc.GrpcClient : Server check fail, please check server 192.168.111.130 ,port 9848 is available , error ={}

java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 2 milliseconds, 26600 nanoseconds delay) for com.alibaba.nacos.shaded.io.grpc.stub.ClientCallsKaTeX parse error: Expected '}', got 'EOF' at end of input: ….ProtoLiteUtilsMessageMarshaller@55caeb35, responseMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils M e s s a g e M a r s h a l l e r @ 6 d 868997 , s c h e m a D e s c r i p t o r = c o m . a l i b a b a . n a c o s . a p i . g r p c . a u t o . R e q u e s t G r p c MessageMarshaller@6d868997, schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpc MessageMarshaller@6d868997,schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpcRequestMethodDescriptorSupplier@2c383e33}}}}}]]

解决办法:开放端口

9848端口没有打开

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

[root@192 bin]# firewall-cmd --zone=public --add-port=9848/tcp --permanent
success
[root@192 bin]# firewall-cmd --reload
success
[root@192 bin]# firewall-cmd --zone=public --list-ports
3306/tcp 15672/tcp 5672/tcp 2375/tcp 8848/tcp 9848/tcp
[root@192 bin]# 

启动+测试

启动成功

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

编辑配置

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

进行配置的修改

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

修改后发布

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

后端监听搞修改,会自动刷新

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

更改前后访问对比

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

引入多个nacos配置

多个配置的情况

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

配置本质是java代码

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

没加.yaml的报错【报错】

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘providerController’: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘book.name’ in value “${book.name}”

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder ‘book.name’ in value “${book.name}”

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

两个同名配置【细节】

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

nacos中新建配置(加后缀)

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

两个配置文件

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

配置文件(配置多个)

spring:
  cloud:
    nacos:
      discovery:
        register-enabled: true
        server-addr: http://192.168.200.104:8848
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        namespace: 1aec5da8-c5af-46af-8302-f2bd7964f613   # nacos中namespace的id
        extension-configs:
          - data-id: movie_config.yaml
            group: DEV
            refresh: true
          - data-id: book_config.yaml
            group: DEV
            refresh: true
  application:
    name: springcloud-nacos

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring

另一种写法

extension-configs[0]:
  data-id: movie_config.yaml
  group: DEV
  refresh: true
extension-configs[1]:
  data-id: book_config.yaml
  group: DEV
  refresh: true

controller

nacos lb:// 命名空间,SpringBoot,java,spring boot,spring


总结

1.nacos是服务发现、配置管理和服务管理平台;
2.nacos的命名空间–>组–>服务;
3.springboot整合nacos,版本的对应;
4.引入多个nacos配置的方法;

到了这里,关于Nacos基础(2)——nacos的服务器和命名空间 & springBoot整合nacos & 多个nacos配置的情况的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Nacos连接不了服务器端口号问题解决】

    问题: ruoyi-gateway启动报错 Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={} 1.首先要开放 8848/8849/9848 3个端口号 2.再把防火墙打开 3.这样就可以正常连接了

    2024年02月12日
    浏览(30)
  • 华为云云服务器评测|详解 Nacos 安装部署

    服务器 云耀云服务器L 操作系统 CentOS 7.9 64bit | 公共镜像 JDK 64 bit JDK 1.8+ Maven Maven 3.2.x+ nacos-server 2.2.3 官方github Release 2.2.3 (May 25th, 2023) · alibaba/nacos · GitHub 百度网盘 链接:https://pan.baidu.com/s/1K8UE6iJL2ZnosUY83bUd0w  提取码:6038  使用SSH工具将包上传到服务器 解压nacos-server-2.2.3

    2024年02月09日
    浏览(40)
  • arm服务器和麒麟v10安装nacos

    在arm飞腾服务器和麒麟V10SP3上安装nacos 服务器和系统版本 1 jdk安装 1.1 首先查看系统是否自带jdk 1.2 卸载系统自带的openjdk 或者先查看安装的java:dpkg -l | grep java,再根据对应java的package 卸载java:  1.3 安装JDK 1.3.1 进入目录:这里用的/usr/local 1.3.2 创建java文件夹 1.3.3 下载jdk 上传

    2024年01月16日
    浏览(44)
  • [Spring Cloud] Nacos 实战 + Aws云服务器

    Java云原生微服务的发展史可以追溯到近几年云计算和微服务架构的兴起。以下是一个简化的概述: 初始阶段:在云原生和微服务概念出现之前,Java应用程序通常是单体应用,所有功能都打包在一个应用中。这些应用程序部署在大型机上,随着业务需求的增长,这种模式的扩

    2024年02月04日
    浏览(28)
  • 解决nacos配置服务ip地址与服务器ip地址不同的问题

    存在问题:在使用nacos注册服务时,如果没有显式配置的话,nacos为服务注册的ip地址通常不会是localhost。 因此,在进行调用的时侯,nacos会返回在其中注册的IP地址,可这经常与服务所在服务器地址不同,最终导致调用服务超时的异常 原因分析:nacos默认使用计算机其中之一

    2024年04月17日
    浏览(27)
  • 解决Nacos服务器连接问题:一次完整的排查经验分享

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 ——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础

    2024年02月10日
    浏览(41)
  • SpringCloud使用nacos注册微服务,undertow为web服务器时,微服务下线问题

    服务下线时抛出异常: 出现错误原因:         由于服务下线时触发关闭Hook,undertow在nacos之前先关闭了,导致naocs取不到undertow里面的对象,导致空指针异常 处理方式:         1、这里导致服务无法下线,故可以重写这个 naocs 的 Hook         2、调整NacosWatch关闭顺序,在

    2024年02月11日
    浏览(34)
  • 在centOS服务器安装docker,并使用docker配置nacos

    遇到安装慢的情况可以优先选择阿里镜像 先查看所有可选择的版本 我们一般选择STARS比较多的进行安装,说明大家对它比较认可 选择好要安装哪一个后,通过docker pull进行安装 对nacos进行相关配置 在浏览器输入,服务器ip:8848/nacos进行访问 记得开放服务器的对应端口

    2024年04月08日
    浏览(35)
  • finishConnect(..) failed: Connection refused,服务本地正常服务器网关报400,nacos服务实例不能下线

    ①application里固定ip ②找到nacos服务下的protocol,删除下面所有,/nacos-server/data/protocol,删了不会有问题,而且这东西越用越大,删了好爽 ③重启nacos,到/nacos-server/bin下 原因分析: 服务器多网卡情况下,网络环境变更引起的,具体为啥不知道请大佬指教,反正天天是多网卡引

    2024年04月16日
    浏览(23)
  • 【Linux】Centos 8 服务器部署:docker 安装 jdk、nginx、nacos、redis、Sentinel Dashboard

    目录 一、安装软件 (1)全部安装命令 (2)安装:jdk (3)安装:nginx  (4)安装:nacos (5)安装:redis (6)安装:Sentinel Dashboard 二、开放端口 三、启动软件  (1)启动:nacos (2)启动:nginx (3)启动:redis (4)启动:Sentinel Dashboard 四、访问网址  (1)访问:nacos 

    2024年02月06日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包