当前位置: 首页 > news >正文

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

目录

  • 引出
  • nacos服务器和命名空间
    • Nacos服务器
    • 命名空间
  • springBoot整合nacos
    • springcloud Alibaba 版本与springcloud对应关系
    • 引包
    • 配置
    • main
    • controller
  • 报错以及解决【报错】
    • 错误:缺少服务名称
    • 报错:9848端口未开放
  • 启动+测试
  • 引入多个nacos配置
    • 多个配置的情况
      • 没加.yaml的报错【报错】
      • 两个同名配置【细节】
    • nacos中新建配置(加后缀)
    • 配置文件(配置多个)
    • controller
  • 总结

引出


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

nacos服务器和命名空间

Nacos服务器

在这里插入图片描述

用户

在这里插入图片描述

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

在这里插入图片描述

命名空间

在这里插入图片描述

命名空间唯一id

在这里插入图片描述

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

在这里插入图片描述

如何找到配置文件

在这里插入图片描述

新建配置

在这里插入图片描述

层级关系

在这里插入图片描述

springBoot整合nacos

springcloud Alibaba 版本与springcloud对应关系

在这里插入图片描述

引包

<?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>

在这里插入图片描述

配置

bootstrap.yml

spring:cloud:nacos:discovery:# 能够注册register-enabled: trueserver-addr: http://192.168.111.130:8848/config:server-addr: ${spring.cloud.nacos.discovery.server-addr}# namespace的idnamespace: 57bca93f-1161-4649-aec3-da79c3aa7cc2# 配置单个的方式group: DEVname: book-cofigfile-extension: yamlapplication: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端口未开放

在这里插入图片描述

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端口没有打开

在这里插入图片描述

[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配置

多个配置的情况

在这里插入图片描述

配置本质是java代码

在这里插入图片描述

没加.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中新建配置(加后缀)

在这里插入图片描述

两个配置文件

在这里插入图片描述

配置文件(配置多个)

spring:cloud:nacos:discovery:register-enabled: trueserver-addr: http://192.168.200.104:8848config:server-addr: ${spring.cloud.nacos.discovery.server-addr}namespace: 1aec5da8-c5af-46af-8302-f2bd7964f613   # nacos中namespace的idextension-configs:- data-id: movie_config.yamlgroup: DEVrefresh: true- data-id: book_config.yamlgroup: DEVrefresh: trueapplication:name: springcloud-nacos

在这里插入图片描述

另一种写法

extension-configs[0]:data-id: movie_config.yamlgroup: DEVrefresh: true
extension-configs[1]:data-id: book_config.yamlgroup: DEVrefresh: true

controller

在这里插入图片描述


总结

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

http://www.lryc.cn/news/150132.html

相关文章:

  • Win7设备和打印机里空白,0个对象,但是可以打印的处理办法
  • Python基础学习第六天:Python 数据类型
  • C++信息学奥赛1184:明明的随机数
  • NoSQL技术——Redis
  • 【探索SpringCloud】服务发现-Nacos服务端数据结构和模型
  • 基于简单的信息变换实现自然语言模型
  • 低配版消息队列,redis——Stream
  • 【OpenCV入门】第五部分——图像运算
  • 【Seata】00 - Seata Server 部署(Windows、Docker 基于 Jpom)
  • 菜鸟教程第一天
  • 数据结构--5.2马踏棋盘算法(骑士周游问题)
  • 如何使用CSS实现一个响应式图片幻灯片(Responsive Image Slider)效果?
  • Linux学习之lvm删除
  • bazel介绍以及其发展历史
  • 固定资产管理分析怎么写?
  • 【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码
  • 可能的二分法 -- 二分图判定【DFS、BFS分别实现】
  • 六级翻译备考
  • Vue框架--Vue中的数据绑定
  • Unity——热更新浅析
  • IMPLEMENT_DYNCREATE的分析
  • Java实现根据短连接获取1688商品详情数据,1688淘口令接口,1688API接口封装方法
  • ABAP FICO 凭证替代 凭证校验
  • 项目验收有哪些流程?
  • C++,类的继承
  • 作业33333333
  • Spring Cloud--从零开始搭建微服务基础环境【二】
  • 算法工程题(中序遍历)
  • jsch网页版ssh
  • 教程i.MX8MPlus开发板SPI转CAN操作