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

微服务搭建----springboot接入Nacos2.x

springboot接入Nacos2.x

nacos之前用的版本是1.0的,现在重新搭建一个2.0版本的,学如逆水行舟,不进则退,废话不多说,开搞

1、 nacos2.x搭建

1,首先第一步查询下项目之间的版本对照,不然后期会出现各种无法预测的版本冲突问题,今天就是复现了,可以参考链接:
版本对照

2,下载nacos,可以通过下方下载地址下载对应的版本
nacos下载地址

3,将下载之后的文件解缩后
在这里插入图片描述
4,解压成功后,进入bin文件通过cmd执行命令:startup.cmd -m standalone,然后执行成功了,通过链接进入了nacos后台

http://localhost:8848/nacos

在这里插入图片描述
在这里插入图片描述

5,很简单是不是,但是这里有个小坑,2.4.3的这个版本,初始化是没有账号密码的,一开始我是有下载1.x的其他版本,他是需要输入账号密码的,初始账号密码是,nacos\nacos,然后很操蛋的事情来了,因为是停留在登录页面,所以他是要求你输入密码,但是2.4.3没有初始账号密码,所以点击登录一直提示账号密码失败,当时很纳闷,没改过密码呀,怎么就是不对呀,纳闷了好久,后面不小心关了链接,重新点击http://localhost:8848/nacos,他进去了,他进去了!!!
6,回到正题,密码怎么办呢?那就开启鉴权,把账号密码加起来,再把数据库也建立进去,配置如下

##修改conf/application.properties文件nacos.core.auth.enabled=true
# 必须设置
# 用于在请求 nacos 时,请求头添加key:value信息,可通过验证
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example
# 设置用于生成token的密钥, 需要原文不低于32位的Base64加密的结果, 
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

7,开启之后,直接通过:http://localhost:8848/nacos,会有如下的提示,然后首次登录也是设置密码
在这里插入图片描述

2,构建springboot项目,使用的maven进行构建

pom文件

<?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.12.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>Demo</artifactId><version>0.0.1-SNAPSHOT</version><name>Demo</name><description>Demo</description><properties><java.version>1.8</java.version><spring.version>4.2.5.RELEASE</spring.version><nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- Spring Boot Test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!-- JUnit 5 (Jupiter) --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>2.2.2.RELEASE</version></dependency><!-- nacos服务注册/发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.9.RELEASE</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.9.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build>
</project>

2、配置文件配置

1,这里有个点需要注意的是,配置文件用bootstrap.yml进行配置,而不是application.yml,为什么呢?因为如果使用的是application进行配置的话,虽然也能注册到nacos去,但是nacos的配置文件是无法读取成功的

#应用服务名称
server:port: 8081
spring:application:name: order-coreprofiles:active: test #可选值dev test uat prodcloud:nacos:discovery:server-addr: 127.0.0.1:8848 #服务注册中心地址namespace: ${spring.profiles.active} #指定命名空间username: nacos #用户名password: nacos #密码config:server-addr: ${spring.cloud.nacos.discovery.server-addr} #服务配置中心地址namespace: ${spring.profiles.active} #指定命名空间username: ${spring.cloud.nacos.discovery.username} #用户名password: ${spring.cloud.nacos.discovery.password} #密码file-extension: yml #配置文件后缀shared-configs:- data-Id: springcloud.ymlrefresh: true- data-Id: datasource.ymlrefresh: true
management:health:defaults:enabled: false

3,项目启动成功后,就可以在nacos的服务列表中看到了
在这里插入图片描述
4,验证配置文件是否能读取到

package com.example.demo.controller;import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.config.annotation.NacosValue;
import com.alibaba.nacos.api.exception.NacosException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import static org.springframework.web.bind.annotation.RequestMethod.GET;/*** @author:Deng* @date: 2024-11-27 15:42* @remark:*/
@RestController
public class TestController {@Value("${dd.aa}")private String aa;@RequestMapping(value = "/get", method = GET)@ResponseBodypublic String get() {return aa;}
}

在这里插入图片描述
在这里插入图片描述
4,再记录一点,当nacos和springboot或者springclound版本存在冲突时,会在启动时出现403的错误,出现这个错误时,可根据1.1提到的进行版本对照修改,以及在配置配置文件时,命名空间的data-Id也要一一对应,下一步就是搭建服务间远程调用OpenFeign

相关文章:

微服务搭建----springboot接入Nacos2.x

springboot接入Nacos2.x nacos之前用的版本是1.0的&#xff0c;现在重新搭建一个2.0版本的&#xff0c;学如逆水行舟&#xff0c;不进则退&#xff0c;废话不多说&#xff0c;开搞 1、 nacos2.x搭建 1&#xff0c;首先第一步查询下项目之间的版本对照&#xff0c;不然后期会…...

3.建立本地仓库及常用命令

1.建立本地仓库 要使用Git对我们的代码进行版本控制&#xff0c;首先需要获得本地仓库 1&#xff09;在电脑的任意位置创建一个空目录&#xff0c;作为我们的本地Git仓库 2&#xff09;进入这个目录&#xff0c;右键点击Git Bash 窗口 3&#xff09;执行命令git init 4) 如果创…...

linux arm下获取屏幕事件(rk3588)

1、找到屏幕设备名称 cat /proc/bus/input/devices我的屏幕设备是ILITEK ILITEK-TP&#xff0c;它的设备名称是event1. 2、读取屏幕事件。 方法1&#xff1a; cat /dev/input/event1 | hexdump方法2&#xff1a; 3、c代码实现 #include <stdio.h> #include <unis…...

【机器学习】人工智能与气候变化:利用深度学习与机器学习算法预测和缓解环境影响

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 &#x1f525;引言 1.1 背景介绍 1.2 人工智能与机器学习的崛起 1.3 本文内容概述 &#x1f528;气候变化的挑战 2.1 现今气候变化带来的影响和挑战 2.2 引发关注的气候变化趋势和数据 &#x1f916;人工智能…...

物联网射频识别和RFID开发(二):RFID原理及硬件组成

一、RFID无线识别的原理 &#xff08;一&#xff09;读写器与标签之间的无线电波交互方式 1、电感耦合 2、电磁反向散射耦合 &#xff08;二&#xff09;标签是如何将数据反馈给读写器的 1、电感耦合中的负载调试 2、电磁反向散射耦合中的负载调制 二、RFID无线通信中的调制…...

LeetCode763. 划分字母区间(2024冬季每日一题 23)

给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 示例 1&a…...

python调用GPT-4o实时音频 Azure OpenAI GPT-4o Audio and /realtime

发现这块网上信息很少&#xff0c;记录一下 微软azure入口 https://learn.microsoft.com/zh-cn/azure/ai-services/openai/realtime-audio-quickstart?pivotsprogramming-language-ai-studio sdk文档 https://github.com/azure-samples/aoai-realtime-audio-sdk?tabread…...

Hadoop生态圈框架部署 伪集群版(四)- Zookeeper单机部署

文章目录 前言一、Zookeeper单机部署&#xff08;手动部署&#xff09;1. 下载Zookeeper安装包到Linux2. 解压zookeeper安装包3. 配置zookeeper配置文件4. 配置Zookeeper系统环境变量5. 启动Zookeeper6. 停止Zookeeper在这里插入图片描述 注意 前言 本文将详细介绍Zookeeper的…...

LuaJava

一、什么是LuaJava LuaJava是一个Java脚本工具。该工具的目标是允许用Lua编写的脚本操纵用 Java开发的组件。LuaJava允许使用与访问Lua的本机对象相同的语法从Lua访问Java组件&#xff0c;而不需要任何声明或任何类型的预处理。 LuaJava还允许在Lua中实现任何Java接口&#x…...

Maven下载安装、环境配置(超详细)(包括Java环境配置(Windows)、在IDEA中配置Maven)

目录 一、引言 二、下载和安装 Maven &#xff08;1&#xff09;首先保证 Java 的环境是正常的。 1、电脑桌面上右击 " 此电脑 "&#xff0c;点击属性。 2、点击高级系统设置。 3、点击环境变量。 4、找到系统变量中的 Path。 5、点击新建&#xff0c;然后把想要配置…...

Python中的实例方法、静态方法和类方法三者区别?

1、实例方法 不用classmethod和staticmethod修饰的方法为实例方法。在类中定义的方法默认都是实例方法。实例方法最大的特点是它至少要包含一个self参数&#xff0c;用于绑定调用此方法的实例对象&#xff0c;实例方法通常可以用类对象直接调用。 2、类方法 采用classmethod…...

【学习Go编程】

了解Go语言的基本概念&#xff1a; 学习Go的基本语法、数据类型、控制结构等。可以参考官方文档或基础教程来入门。 安装Go环境&#xff1a; 访问Go语言的官方网站&#xff0c;下载并安装适合你操作系统的Go编程环境。配置好环境变量&#xff0c;确保可以在命令行中使用go命令…...

Linux系统:网络

目录 一、网络协议 1.网络协议概念 2.协议分层 3.OSI七层模型和TCP/IP五层&#xff08;或四层&#xff09;模型 4.为什么要有网络协议&#xff1f; 5.网络通信协议的原理 二、网络传输的基本流程 1.局域网的网络传输流程 1.MAC地址 2.局域网通信原理&#xff08;以太网…...

shodan2-批量查找CVE-2019-0708漏洞

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…...

面向对象(二)——类和对象(上)

1 类的定义 做了关于对象的很多介绍&#xff0c;终于进入代码编写阶段。 本节中重点介绍类和对象的基本定义&#xff0c;属性和方法的基本使用方式。 【示例】类的定义方式 // 每一个源文件必须有且只有一个public class&#xff0c;并且类名和文件名保持一致&#xff01; …...

Redis3——线程模型与数据结构

Redis3——线程模型与数据结构 本文讲述了redis的单线程模型和IO多线程工作原理&#xff0c;以及几个主要数据结构的实现。 1. Redis的单线程模型 redis6.0之前&#xff0c;一个redis进程只有一个io线程&#xff0c;通过reactor模式可以连接大量客户端&#xff1b;redis6.0为了…...

linux 获取公网流量 tcpdump + python + C++

前言 需求为&#xff0c;统计linux上得上下行公网流量&#xff0c;常规得命令如iftop 、sar、ifstat、nload等只能获取流量得大小&#xff0c;不能区分公私网&#xff0c;所以需要通过抓取网络包并排除私网段才能拿到公网流量。下面提供了一些有效得解决思路&#xff0c;提供了…...

C++知识整理day3类与对象(下)——赋值运算符重载、取地址重载、列表初始化、友元、匿名对象、static

文章目录 1.赋值运算符重载1.1 运算符重载1.2 赋值运算符重载 2.取地址重载2.1 const成员函数2.2 取地址运算符重载 3.类与对象的补充3.1 再探构造函数---初始化列表3.2 类型转换3.3 static成员3.4 友元3.5 内部类3.6 匿名对象3.7 对象拷贝时的编译器优化 1.赋值运算符重载 赋…...

pytest(二)excel数据驱动

一、excel数据驱动 excel文件内容 excel数据驱动使用方法 import openpyxl import pytestdef get_excel():excel_obj openpyxl.load_workbook("../pytest结合数据驱动-excel/data.xlsx")sheet_obj excel_obj["Sheet1"]values sheet_obj.valuescase_li…...

python蓝桥杯刷题3

1.解方程组解 题解&#xff1a;首先让a&#xff0c;b&#xff0c;c进行遍历&#xff0c;然后计算得到1000时输出结果&#xff0c;其次考虑1000开根号是多大&#xff0c;计算得到32的倍数是1024&#xff0c;所有选择&#xff08;1&#xff0c;32&#xff09;进行遍历&#xff0c…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...