补知识点:Feign、Nacos配置中心(命名空间、配置分组)

news2024/11/15 6:40:08

一、Feign的应用

和前面的Feign笔记是一样的,不过这里更深刻的理解一下

 使用Feign的整体步骤就分为以下几个步骤:

1、引入open-feign依赖坐标

2、编写一个接口,告诉springCloud这个接口需要调用远程服务

3、在启动类当中开启远程调用功能注解

4、自动装配接口,调用功能方法

具体步骤演示如下所示:

 假定现在有两个微服务,一个是gulimall-coupon服务、一个是gulimall-member服务,现在的需求是:

        gulimall-member服务向gulimall-coupon服务发送远程服务调用,简单的理解就是说gulimall-member服务模块想要调用到gulimall-coupon服务模块中的某个功能

第一步:引入open-feign依赖坐标

        比如说A服务远程调用B服务,那么就在A服务的pom依赖坐标下导入open-feign依赖坐标,我们这里是gulimall-member服务远程调用gulimall-coupon服务,因此就需要在gulimall-member服务中导入依赖坐标

 

第二步:编写一个Fegin接口

假定gulimall-member服务想要远程调用的就是gulimall-coupon服务中的下面这个功能:

 

确定好gulimall-member服务想要远程调用的某个服务的某个功能之后,那么就可以在gulimall-member服务当中编写Feign接口了:

 

第三步:在启动类当中开启远程调用功能注解

A服务远程调用B服务的话,就在A服务启动类上加上@EnableFeignClients注解即可。

 

第四步:测试

 

 

二、Nacos配置中心 - 命名空间

 

在实际的开发过程中,我们肯定不会只用这一个public为名的空间来放置配置文件,毕竟简单的来说,一旦微服务的配置文件过多之后如果都放入在这一个public为名的空间中的话,那么就会非常的混乱。

2.1、使用不同命名空间场景1

并且我们项目上线的过程中,肯定也要经过开发、测试、生产、上线等一系列的操作,那么我们肯定就需要多个命名空间来存放配置文件了,毕竟我们测试的时候使用到的配置文件命令空间总不能和开发、上线时候用的命名空间是同一个吧,那不就完犊子了吗,太乱了。

因此我们就可以创建出多个不同环境的命名空间,然后用来存放配置文件 

创建不同环境的命名空间操作过程:

 

 通过上面的方式创建出多个环境空间之后:

 

 此时的话,比如我们点击dev进入到开发环境,我们知道我们这个dev开发环境是刚刚新创建的,所以还没有添加一些配置文件,那么现在的话我们就可以把开发中所用到的一些配置文件创建到dev开发环境空间当中了(创建的过程和在public环境下一样,点击加号,然后创建配置文件即可):

 

 

 

nacos配置中心中dev开发环境中有了配置文件之后,我们该如何在微服务中获取到开发环境中的配置文件数据呢:

 

 

其他的几个不同的环境空间的使用方式和上面相同,这里就不再演示了~

2.2、使用不同命名空间场景2

我们也可以每个微服务使用一个不同的命名空间,这样就会更加的清晰,比如我们gulimall-coupon服务,给他也搞一个命名空间,这样的话这个服务使用到的nacos配置中心的配置文件就放入到该服务对应的命名空间中去,以后用的时候就直接去这个命名空间中找想用的配置文件就可以了。

使用的操作过程和上面一样,也是新创建好命名空间后,然后在服务的bootstrap配置文件中添加一个namespace属性 配置上对应的命名空间id即可,其他的操作都一样。

 

三、Nacos配置中心 - 配置分组

 

我们现在比如说在dev空间下再创建一个gulimall-coupon.properties为名的配置文件(不再是上面的组):

 

 

现在有个问题就是:我们该如何获取到1111组下的该配置文件数据信息呢:

注意:如果在bootstrap配置文件中,不加这个group指定组名的话,就会默认指定DEFAULT_GROUP为名的组名,那么就会获取到的是DEFAULT_GROUP为组名的配置文件中的数据信息,不再是1111为组名的配置文件中的数据信息

 同理如果想获取默认情况下的组中的配置文件中的数据的话,只需要把那个组名换成默认的那个组名即可。

 

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

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

相关文章

[附源码]计算机毕业设计JAVA学生宿舍管理系统

[附源码]计算机毕业设计JAVA学生宿舍管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

06_openstack之创建云主机和常见错误

目录 一、环境准备 二、创建云主机 三、常见错误 1、创建云主机时,主机状态显示“错误” 2、云主机控制台无法访问,报错1006 3、云主机创建错误,提示“找不到有效主机,原因是没有足够的主机可用” 一、环境准备 部署openst…

什么样的架构师修炼之道文档,能帮助大家修炼成为出色的架构师?

前言 时间飞逝,转眼间毕业七年多,从事 Java 开发也六年了。我在想,也是时候将自己的 Java 整理成一套体系。 这一次的知识体系面试题涉及到 Java 知识部分、性能优化、微服务、并发编程、开源框架、分布式等多个方面的知识点。 写这一套 Ja…

Java基于springboot+vue的汽车销售购物商城系统

前言背景 随着我国的经济发展,人们的生活水平也有了一定程度的提高,汽车也逐渐由以前的奢侈品变成了很多人必须的代步工具,然而我国的很多汽车销售企业都没有成套的管理系统,通过我在假期的实习和一定时间的调查研究发现了传统的…

[附源码]Python计算机毕业设计Django教务管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Js逆向教程18-l参数分解

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Js逆向教程18-l参数分解 一、l参数分解 可以看到l是一个大数组。 里面有很多字节码 V[$_CAIAt(353)](gt[$_CAIAt(218)](o), r[$_CAIA…

【Java基础】· 集合习题详解

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

如何测试 LoRaWAN 全球频段

To be a sailor of the world, bound for all ports. 做世界的水手,游遍所有的港口。 背景 自 2015 年 LoRa 联盟创建 LoRaWAN 协议,经过 7 年长跑,到 2022 年国际电信联盟 (ITU) 正式批准 LoRaWAN 作为全球标准: ITU-T Y.4480“广域无线网…

一些并查集的题~~判树,连通,带权

目录 A-Wireless Network B-The Suspects C - How Many Tables D - How Many Answers Are Wrong G - Supermarket L - 小希的迷宫 M - Is It A Tree? J - A Bug‘s Life E - 食物链 A-Wireless Network POJ - 2236 ​ 翻译: 东南亚发生了地震…

Android Camera性能分析 - 第27讲 Request Latency

​ 本讲是Android Camera性能分析专题的第27讲 ​,我们介绍CameraServer Request Latency,包括如下内容: Request Latency是什么Request Latency配置Request Latency实战 视频在线观看: 极客笔记:极客笔记在线课程加…

基于proe的阀体零件的机械加工工艺及夹具设计

目 录 摘 要 I Abstract II 1 绪论 1 1.1选题背景及意义 1 1.2发展现状 1 1.3研究主要内容 3 2 夹具的概述 4 2.1 夹具的发展趋势 4 2.2 夹具的组成 5 2.3 夹具的作用与意义 6 3 PROE设计环境的简述 8 3.1 PROE设计软件介绍 8 3.2 PRO/E的CAM功能应用 8 3.3 设计任务及要求 9 3…

sscanf与sprintf函数

本期介绍🍖 主要介绍:scanf()、printf()、fscanf()、fprintf()、sscanf()、sprintf()这三对输入/输出函数的区别,而且详细讲解了sscanf()、sprintf()这两个函数的应用场景👀。 概述🍖 在C语言的输出和输入库中&#xf…

基于安卓的公司员工考勤系统的设计与实现

目 录 1 绪论 1 1.1 选题背景 1 1.2 研究现状 2 1.3 研究意义 3 1.4 研究内容 3 2 相关的理论和技术 4 2.1 JAVA技术与安卓介绍 4 2.2 Android的开发 5 2.3 Android常用的列表组件 5 2.4 Android所需知识的理解 8 2.4.1 自定义控件 8 2.4.2 进一步说明 10 3 系统分析 12 3.1系统…

生命在于折腾——Fishing软件的编写(易语言)

本篇文章仅用于学习交流,不得用于其他违规用途。 一、钓鱼软件是什么? 钓鱼软件是通常以精心设计的虚假网页引诱用户上当,达到盗取银行账号、信用卡号码等目的,属于违法行为。 钓鱼通常指伪装成银行及电子商务,窃取用户提交的银行帐号、密码等私密信息…

【计算机网络】网络基础(二)

本章主要对TCP/IP模型的网络层的初阶内容进行概括性讲述。 1、IP地址 当我们在配置计算机的IP地址时,是否会遇到下面的情形: 这是由于IP地址配置不正确造成的。在网络通信中,IP地址用来识别终端主机及网元设备,为了保障互联网正…

Siamese Neural Network (SNN: 孪生神经网络)

【学习参考】: https://blog.csdn.net/MyArrow/article/details/122539749https://blog.csdn.net/MyArrow/article/details/122539749 Siamese network 孪生神经网络--一个简单神奇的结构 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/35040994 【Siamese和Ch…

Matlab reconstruct signal form sample points, convulsion

Usually we describe reconstruction as interpolation, and there are many approaches to reach it. In this article, I introduce a new method- convulsion Main signal function f(x)sin(15πxπ/10)f(x)sin(15\pi x\pi/10)f(x)sin(15πxπ/10) Convulsion Method Des…

半监督短语挖掘:autophrase是什么?

论文地址:《Automated Phrase Mining from Massive Text Corpora》 git地址: GitHub - shangjingbo1226/AutoPhrase: AutoPhrase: Automated Phrase Mining from Massive Text Corpora 目录 简介: 1.短语需要满足什么条件? …

Java项目:ssm图书商城系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 该项目分为前后台,前台主要功能包括: 普通用户的注册、登录; 轮播图展示、图书列表、图书详情、加入购物车、…

【Java实战】泄露用户隐私被罚巨款?系统被攻击?如何避免?

目录 一、前言 二、安全规约 1.【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 2.【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。 3.【强制】用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定,防止 SQL 注入…