Java教程:SpringBoot项目如何对接Nacos实现服务发现治理,配置管理

–Nacos大家都知道,不懂的可以去官网或者网上查阅一下,本次给大家讲解一下如何在SpringBoot项目中引入Nacos服务来进行服务治理与发现,配置管理等,在微服务当中是必不可少的,各个模块之间可以通过Feign远程调用,无需指定具体地址就可以自动负载到对应的服务上,集群当中非常有用,接下来讲解一下具体实现步骤

官网地址:https://nacos.io/

在这里插入图片描述

一、 引入pom

<!--注册中心的依赖-->
<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>
本次引入的是2.2.9版本,可使用nacos2.2.0服务

二、删除原有的配置文件,采用bootstrap.yml文件代替

server:port: 8080
spring:application:# 应用名称name: gatewaycloud:nacos:discovery:#账号密码username: nacospassword: nacos# 服务注册地址server-addr: 127.0.0.1:8848# 配置所属命名空间的idnamespace: publicconfig:#账号密码username: nacospassword: nacos# 配置中心地址server-addr: 127.0.0.1:8848# 配置所属命名空间的idnamespace: public# 配置文件格式file-extension: yml
将此内容保存至bootstrap.yml文件中,放到resources目录下即可,此配置主要是对服务进行一个注册,和读取nacos中的配置文件,至于为什么要废弃传统application.yml文件,这与springboot启动配置顺序有关

如下:
在这里插入图片描述

三、 启动类增加@EnableDiscoveryClient注解开启服务发现

@EnableDiscoveryClient
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}
}

四、 安装nacos服务

因nacos服务版本与springboot版本有兼容关系,所以本次我们采用2.2.0版本,可在官网中下载,文章末尾也会附上网盘地址

官网下载地址:https://nacos.io/download/nacos-server/

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

Nacos服务依赖于jdk,所以在使用前请先安装jdk8版本,此处不做讲解

五、 创建nacos配置数据库

  1. 下载好后服务包,在conf目录下会附带mysql脚本,创建一个nacos_config库,将此脚本执行进去即可

在这里插入图片描述

在这里插入图片描述

  1. 使用文本打开application.properties文件,拖到最下层添加nacos库的配置
# 本地库nacos
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

如下所示:
在这里插入图片描述

六、 启动nacos服务

  • 首次启动是默认采用集群模式启动,我们需要修改一下启动模式,使用文本打开bin目录下的startup.cmd文件,搜索set
    MODE,修改为如下所示(standalone):
    在这里插入图片描述

  • 保存退出
    -双击启动startup.cmd:
    在这里插入图片描述

七、 访问使用nacos

  • 打开浏览器输入:http://127.0.0.1:8848/nacos 账号密码:nacos/nacos

在这里插入图片描述

  • 此时还没有任何配置,我们创建一个gateway

在这里插入图片描述

服务启动时会通过服务名称从nacos中拉取配置进行载入,类型为yaml,Group可使用默认

在这里插入图片描述

八、 启动springboot服务

  • 此时会在nacos服务中看到我们的springboot项目

在这里插入图片描述

  • 之后的所有配置新增与修改均在nacos服务web页面上进行
  • 其中有不少涉及到nacos概念知识,比如命名空间,分组,配置共享,启动顺序等,有兴趣的同学可通过网上查阅

本次教程到这里就结束了,希望大家多多关注支持(首席摸鱼师 微信同号),持续跟踪最新文章吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/714166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网主机:为智能交通赋能

物联网&#xff08;IoT&#xff09;技术的发展为智能交通领域带来了许多创新的解决方案。而在物联网应用中&#xff0c;物联网主机起着关键的作用。本文将为大家介绍一款名为E6000的物联网主机&#xff0c;它是一种多协议、多接口的物联网主机&#xff0c;为智能交通系统的建设…

antvX6 - Vue自定义节点,并实现多种画布操作,拖拽、缩放、连线、双击、检索等等

一、 首先 antv x6 分为两个版本 低版本和高版本 我这里是使用的2.0版本 并且搭配了相关插件 例如&#xff1a;画布的图形变换、地图等 个人推荐 2.0版本&#xff0c;高版本配置多&#xff0c;可使用相关插件多&#xff0c;但是文档描述小&#xff0c;仍在更新&#xff0c; 低…

小d和图片压缩

题目描述 小ddd和她对象小红去海洋馆玩了&#xff0c;但是由于小ddd拍照技术不好&#xff0c;他对象说把她拍的像嘎子&#xff01; 小ddd看了看&#xff0c;发现是小红最近长痘痘了&#xff0c;于是他为了讨小红开心&#xff0c;让痘痘看不见&#xff0c;自学了图像压缩这个技…

装饰器模式 详解 设计模式

装饰器模式 它允许你在不改变对象结构的情况下&#xff0c;动态地将新功能附加到对象上。 结构&#xff1a; 抽象组件&#xff08;Component&#xff09;&#xff1a;定义了原始对象和装饰器对象的公共接口或抽象类&#xff0c;可以是具体组件类的父类或接口。具体组件&…

固定排班计划

目录 1.按发车时间排序。 2.排班日期默认当天时间。 3.编辑不可修改线路和排班日期。 4.线路、车号、司机是否匹配&#xff0c;不匹配不可入库&#xff08;和其他表比&#xff09;&#xff0c;线路、发车时间、司机、车号、日期、上下行相同不可入库&#xff08;和自己表比…

GO语言学习笔记(与Java的比较学习)(一)

GO的优缺点&#xff1a; 此处引用华为云开发者联盟的一篇文章&#xff1a; GO语言的亮点很明显&#xff1a; GoDoc。 GoDoc的静态语言分析能力很强大&#xff0c;可以直接从代码和注释生成漂亮的文档。这一点区别于其他的类似工具如JavaDoc, PHPDoc或者JSDoc。这些工具需要添加…

如何在群晖Docker运行本地聊天机器人并结合内网穿透发布到公网访问

文章目录 1. 拉取相关的Docker镜像2. 运行Ollama 镜像3. 运行Chatbot Ollama镜像4. 本地访问5. 群晖安装Cpolar6. 配置公网地址7. 公网访问8. 固定公网地址 随着ChatGPT 和open Sora 的热度剧增,大语言模型时代,开启了AI新篇章,大语言模型的应用非常广泛&#xff0c;包括聊天机…

C# Socket通信从入门到精通(21)——TCP发送文件与接收文件 C#代码实现

1、前言 我们在开发上位机软件的过程中经常需要发送文件,本文就是介绍如何利用tcp客户端发送文件、tcp服务器端接收文件,而且本文介绍的方法可以自动发送一个文件夹下的所有子目录以及所有文件,经验来自于实际项目,具备非常有价值的参考意义! 2、发送文件以及C#代码 被发…

LeetCode第48天 买卖股票的最佳时机 买卖股票的最佳时机II 动态规划

121. 买卖股票的最佳时机 class Solution { public:int maxProfit(vector<int>& prices) {// int res 0 ;// int low INT_MAX;// for (int i 0; i < prices.size(); i) {// low min(low, prices[i]);// res max(res, prices[i]-low);// }// return r…

低密度奇偶校验码LDPC(八)——QC-LDPC译码器FPGA设计概要

往期博文 低密度奇偶校验码LDPC&#xff08;一&#xff09;——概述_什么是gallager构造-CSDN博客 低密度奇偶校验码LDPC&#xff08;二&#xff09;——LDPC编码方法-CSDN博客 低密度奇偶校验码LDPC&#xff08;三&#xff09;——QC-LDPC码概述-CSDN博客 低密度奇偶校验码…

Linux系统--------内核参数调优、一键安装nginx、tomcat调优

一、内核参数调优 默认的Linux内核参数考虑的是最通用场景&#xff0c;不符合用于支持高并发访问的Web服务器的定义&#xff0c;根据业务特点来进行调整&#xff0c;当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时&#xff0c;内核参数的调整都是不同的…

Spring面试系列-02

1. Spring 中自动装配有那些局限性? 自动装配的局限性 重写:仍需用<constructor-arg>和<property>配置来定义依赖,意味着总要重写自动装配。 基本数据类型:不能自动装配简单的属性,例如基本数据类型、String字符串、和类。 模糊特性:自动装配不如显式装配…

Vue点击复制到剪切板

一、Vue2写法 安装 &#xff08;官网地址&#xff09; npm install --save vue-clipboard2 使用 //main.js import VueClipboard from vue-clipboard2 Vue.use(VueClipboard)//页面使用 <button type"button"v-clipboard:copy"message"v-clipboard:su…

Mac电脑软件开发的优缺点

Mac电脑软件开发的优缺点 在软件开发领域&#xff0c;Mac电脑一直以其独特的优势占有一席之地。然而&#xff0c;就像任何工具或平台一样&#xff0c;Mac电脑在软件开发方面也存在其优点和缺点。本文将探讨在Mac上进行软件开发的利弊&#xff0c;帮助您了解是否应将Mac作为您的…

node.js 用 xml2js.Parser 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件&#xff0c;继承 Freemind 的思维导图工具软件&#xff0c;它扩展了知识管理功能&#xff0c;在 Freemind 上增加了一些额外的功能&#xff0c;比如数学公式、节点属性面板等。 编写 mm_xml2js_csv.js 如下 // 用 xml2js.Parser 读 F…

Android 通过Intent打开第三方App

Android 使用 Intent 打开第三方应用或调用制定 Activity Intent intent new Intent(); intent.setClassName("package name", "activity name"); // 内部调用 intent.setComponent(new ComponentName("package name", "activity name&qu…

javaWebssh票据管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh票据管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,My…

C++ 快速排序快速选择

目录 1、75. 颜色分类 2、912. 排序数组 3、 215. 数组中的第K个最大元素 4、LCR 159. 库存管理 III 1、75. 颜色分类 思路&#xff1a;利用快速排序思路&#xff0c;使用三指针分块进行优化。 [0,left]——小于key[left1,right-1]——等于key[right,nums.size()]——大于k…

博途PLC 面向对象系列之“输送带控制功能块“(SCL代码)

这篇是面向对象系列之"输送带功能块"的封装,面向对象是系列文章,相关链接如下: 1、面向对象系列之找"对象" https://rxxw-control.blog.csdn.net/article/details/136150027https://rxxw-control.blog.csdn.net/article/details/1361500272、面向对象…

LeetCode 刷题 [C++] 第215题.数组中的第K个最大元素

题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 题目分析 根据题意分析&…