SpringCloud——Nacos注册中心、OpenFeign

article/2025/6/14 1:01:38

一、Nacos注册中心

1.注册中心原理

2.服务注册

添加依赖:

<!--nacos 服务注册发现-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置Nacos:

spring:application:name: item-service # 服务名称cloud:nacos:server-addr: 192.168.150.101:8848 # nacos地址

 3.服务发现

添加依赖:

<!--nacos 服务注册发现-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置Nacos:

spring:application:name: item-service # 服务名称cloud:nacos:server-addr: 192.168.150.101:8848 # nacos地址

服务发现:

二、OpenFeign

 OpenFeign是一个声明式的http客户端,是SpringCloud在Eureka公司开源的Feign基础上改造而来的。

添加依赖:

  <!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--负载均衡器--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>

启动OpenFeign:

 编写接口:

package com.hmall.cart.client;import com.hmall.cart.domain.dto.ItemDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;import java.util.List;@FeignClient("item-service")
public interface ItemClient {@GetMapping("/items")List<ItemDTO> queryItemByIds(@RequestParam("ids") Collection<Long> ids);
}

注意:

@FeignClient("item-service") :声明服务名称​
@GetMapping :声明请求方式​
@GetMapping("/items") :声明请求路径​
@RequestParam("ids") Collection<Long> ids :声明请求参数​
List<ItemDTO> :返回值类型

1.修改连接池

添加依赖:

<!--OK http 的依赖 -->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-okhttp</artifactId>
</dependency>

开启连接池:

feign:okhttp:enabled: true # 开启OKHttp功能

2.最佳实践

为减少代码重复,提高代码复用性,将请求访问的代码抽离,新建模块

方案:

3.日志

OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。而且其日志级别有4级:​

NONE:不记录任何日志信息,这是默认值。​

BASIC:仅记录请求的方法,URL以及响应状态码和执行时间​

HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息​

FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。​
Feign默认的日志级别就是NONE,所以默认我们看不到请求日志。​
​定义日志:

package com.hmall.api.config;import feign.Logger;
import org.springframework.context.annotation.Bean;public class DefaultFeignConfig {@Beanpublic Logger.Level feignLogLevel(){return Logger.Level.FULL;}
}

局部生效:在某个FeignClient中配置,只对当前FeignClient生效

@FeignClient(value = "item-service", configuration = DefaultFeignConfig.class)

全局生效:在@EnableFeignClients中配置,针对所有FeignClient生效。

@EnableFeignClients(defaultConfiguration = DefaultFeignConfig.class)


http://www.hkcw.cn/article/WmREghNmoQ.shtml

相关文章

WAF绕过,网络层面后门分析,Windows/linux/数据库提权实验

一、WAF绕过文件上传漏洞 win7&#xff1a;10.0.0.168 思路&#xff1a;要想要绕过WAF&#xff0c;第一步是要根据上传的内容找出来被拦截的原因。对于文件上传有三个可以考虑的点&#xff1a;文件后缀名&#xff0c;文件内容&#xff0c;文件类型。 第二步是根据找出来的拦截原…

榕壹云健身预约系统:多门店管理的数字化解决方案(ThinkPHP+MySQL+UniApp实现)

随着全民健身热潮的兴起,传统健身房在会员管理、课程预约、多门店运营等方面面临诸多挑战。针对这一需求,我们开发了一款基于ThinkPHP+MySQL+UniApp的榕壹云健身预约系统,为中小型健身机构及连锁品牌提供高效、灵活的数字化管理工具。本文将详细介绍系统的技术架构、核心功能…

nginx去掉暴漏外边的版本号

背景 在做安全扫描的时候&#xff0c;对方说nginx会暴漏版本号属于中危漏洞 解决方法 nginx 在http{括号里增加 server_tokens off; # 关闭版本号显示# add_header Server "Apache/2.4.3"; # 伪造为 Apache 服务器&#xff08;可选&#xff09;效果

飞牛fnNAS存储模式RAID 5数据恢复

目录 一、添加硬盘 二、创建RAID 5 存储空间 三、上传测试文件 四、拆除硬盘 五、更换硬盘 六、修复RAID 5 七、验证其内文件 八、NAS系统崩溃后的数据盘 前文《飞牛fnNAS存储空间模式详解》 中介绍了fnNAS存储空间的几个模式,细心的网友应该能感受到,我是非常推崇R…

OpenEMMA: 打破Waymo闭源,首个开源端到端多模态模型

1. 概述 OpenEMMA&#xff08;Open-source End-to-end Multimodal Model for Autonomous driving&#xff09;是由德州农工大学、密歇根大学和多伦多大学联合推出的开源端到端自动驾驶多模态模型框架&#xff0c;旨在复现并开源 Waymo 旗下 EMMA 系统的核心思路与方法。 该框…

学习STC51单片机26(芯片为STC89C52RCRC)

每日一言 真正的强者&#xff0c;不是没有眼泪&#xff0c;而是含着泪依然奔跑。 硬件&#xff1a;4G模块 这个是接线原理&#xff0c;我们也只要知道这个4根线的连接就好了&#xff0c;我们也是连接到USB转TTL的模块上 要插卡哈......... 随后我们下载一个叫做亿佰特的调试助…

GROM快速上手

&#x1f43e; 个人主页 &#x1f43e; 阿松爱睡觉&#xff0c;横竖醒不来 &#x1f3c5;你可以不屠龙&#xff0c;但不能不磨剑&#x1f5e1; 目录 一、概要二、上手步骤&#xff08;一&#xff09;安装 GORM&#xff08;二&#xff09;连接数据库&#xff08;三&#xff09;定…

MATLAB仿真生成无线通信网络拓扑推理数据集

一、数据集生成程序 %创建时间&#xff1a;2025年6月3日 %用途&#xff1a;生成不同节点样本&#xff0c;统计稀疏性约束情况 %zhouzhichaoclose all clearfor n [20,30,40,50]dataset_n 100;nodes_P ones(n,1);for Sampling_M [3000]%获取一帧信号及对应功率[ack,fs] ac…

【OCCT+ImGUI系列】012-Geom2d_AxisPlacement

Geom2d_AxisPlacement 教学笔记 一、类概述 Geom2d_AxisPlacement 表示二维几何空间中的一个坐标轴&#xff08;轴系&#xff09;&#xff0c;由两部分组成&#xff1a; gp_Pnt2d&#xff1a;原点&#xff08;Location&#xff09;gp_Dir2d&#xff1a;单位方向向量&#xff…

NodeMediaEdge任务管理

NodeMediaEdge任务管理 简介 NodeMediaEdge是一款部署在监控摄像机网络前端中&#xff0c;拉取Onvif或者rtsp/rtmp/http视频流并使用rtmp/kmp推送到公网流媒体服务器的工具。 在未使用NodeMediaServer的情况下&#xff0c;或是对部分视频流需要单独推送的需求&#xff0c;也可…

ROS2学习(18)------ROS2 Rviz工具使用说明

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 ROS版本&#xff1a;2 ROS 2 中的 Rviz&#xff08;Robot Visualization&#xff09;是一个强大的三维可视化工具&#xff0c;用于显示来自 ROS 系统的各种传感器数据、路径规划结果、机器人…

安科瑞APD300:多模态融合的智能局放监测新标杆

安科瑞顾强 在电网安全运行的严密链条中&#xff0c;开关柜、环网柜等高压设备如同关键节点&#xff0c;其内部绝缘状态的完好性直接决定着电力系统的整体稳定。局部放电&#xff08;PD&#xff09;作为绝缘劣化的早期、灵敏征兆&#xff0c;若能及时捕捉和精准识别&#xff0…

Office文档图片批量导出工具

软件介绍 本文介绍一款专业的Office文档图片批量导出工具。 软件特点 这款软件能够批量导出Word、Excel和PPT中的图片&#xff0c;采用绿色单文件设计&#xff0c;体积小巧仅344KB。 基本操作流程 使用方法十分简单&#xff1a;直接将Word、Excel或PPT文件拖入软件&#xf…

网络编程(计算机网络基础)

认识网络 1.网络发展史 ARPnetA(阿帕网)->internet(因特网)->移动互联网->物联网 2.局域网与广域网 局域网 概念&#xff1a;的缩写是LAN&#xff08;local area network&#xff09;&#xff0c;顾名思义&#xff0c;是个本地的网络&#xff0c;只能实现小范围短距…

godwork_ AT 5.2 摄影测量空三数据处理软件。

1.平差技术&#xff0c;平差模块不依赖PATB、Bingo等国外技术 2.采用特征匹配&#xff0c;对国内无人机数据具有很强的适应性&#xff0c;对测区大小、形状、重叠度没有严格限制&#xff0c;适用于大偏角影像、大高差地区。 3.对飞行方向没有要求&#xff0c;无需旋转影像等预…

《仿盒马》app开发技术分享-- 个人中心关于逻辑完善(端云一体)

开发准备 上一节我们针对首页的一些静态按钮做了一些功能上的完善&#xff0c;这一节我们要针对已有的功能做一下逻辑完善&#xff0c;经过测试&#xff0c;在一开始的登录中我们登录之后当前页面的状态并不能马上的展示出来&#xff0c;并且缺少退出功能&#xff0c;退出后我…

UniRig:如何在矩池云一站式解决 3D 模型绑定难题

在 3D 动画制作中&#xff0c;绑定&#xff08;Rigging&#xff09;是一个至关重要但复杂耗时的步骤。它包括为 3D 模型创建骨架并分配蒙皮权重&#xff0c;以实现流畅的动画效果。由清华大学与 Tripo 联合开发的 UniRig 框架&#xff0c;为这一难题提供了全新的解决方案。 什…

二分查找和二分答案(基础)

目录 前言 二分的本质 二分的代码实现 二分查找 题目 洛谷 P1571 眼红的Medusa 洛谷 P1102 A-B 数对 洛谷 P1678 烦恼的高考志愿 OpenJudge 01&#xff1a;查找最接近的元素 二分答案 实现 题目 洛谷 P1824 进击的奶牛 洛谷 P1182 数列分段 Section || 洛谷 P128…

三极管和MOS的三种状态命名的区别

前言 还记得大学用MOS做仿真&#xff0c;来进行原理说明时&#xff0c;总是会将三极管和MOS的叫法搞混。本篇文章就重新回顾&#xff0c;加深下印象。 1. 三极管&#xff08;BJT&#xff09;的三个工作状态 BJT 是电流控制型器件&#xff0c;其工作状态由 基极电流 IB​ 和 集…

SKUA-GOCAD入门教程-第八节 线的创建与编辑2

8.1.3根据线创建曲线 (1)从线生成线 这个命令可以将一组曲线合并为一条曲线。每个输入曲线都会成为新曲线内的一个部分。 1、选择 Curve commands > New > Curves 打开对话框。 图1 根据曲线创建曲线 在“name”框中:输入新建线的名称。在“Curves”框中:输入用于…