谷粒商城实战(022 业务-订单模块-服务调用)

2024-05-10 05:44

本文主要是介绍谷粒商城实战(022 业务-订单模块-服务调用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第267p-第p270的内容


远程调用

订单服务调用客户服务的查询收货地址信息方法

1.在订单服务里添加@EnableFeignClients 来开启远程调用功能
在这里插入图片描述

2.新建一个类 来专门调用远程服务客户端(调用客户服务) 使用@FeignClient注解,这里只用了name参数,url在服务发现中心(nacos)注册了
在这里插入图片描述

3.在客户服务里写一个查询客户收货地址的方法

在这里插入图片描述
它调用的service
在这里插入图片描述

  1. 放到订单服务的远程调用service里
    在这里插入图片描述
    修改为自己定义的VO
    在这里插入图片描述

  2. 订单模块的需要查看客户收货地址的方法的类里引用远程调用service
    a

  3. 在方法中引用那个方法
    在这里插入图片描述

  4. 然后Feign将会在服务发现中心(这里用的是nacos,也可以使用Eureka)中查找名为gulimall-member的服务,并根据服务的地址进行调用。

调用其他服务

这里的流式写法 重构了map里price的数据(这里多次调用数据库 性能太低,不推荐使用,但是这个流式写法推荐学习)
在这里插入图片描述
在这里插入图片描述
这里自己写getTotal方法 这里的total也可以删除 因为有get方法了
在这里插入图片描述
在这里插入图片描述
payPrice同上
在这里插入图片描述
在这里插入图片描述

防止用户重复提交的令牌
在这里插入图片描述
在这里插入图片描述
查看和禁用断点信息
在这里插入图片描述
在这里插入图片描述

feign 远程调用

分析远程调用的源码

这里判断是不是它自带的方法,不是才去调用远程服务
在这里插入图片描述

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

添加feign远程调用的请求拦截器

在这里插入图片描述
创建Feign配置类
在这里插入图片描述
请求的上下文环境保持器
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
ps:新版本的feign好像自动会把请求头带上了 所以等出问题时再进行配置

这个远程调用接口不是面向用户的接口,不需要放网关

在这里插入图片描述

使用线程池异步调用(优化)

在这里插入图片描述
在这里插入图片描述
如果是内网服务之间调用我觉得不用登录会话,

异步丢失请求头的问题

在这里插入图片描述
在这里插入图片描述
解决方法 在每个线程里放一下request的head信息
在这里插入图片描述
这里很麻烦,不过没关系,现在很少用SpringSession了,都是存redis

在这里插入图片描述
返回的时候未写@ResponseBody导致bug

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述


这篇关于谷粒商城实战(022 业务-订单模块-服务调用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975600

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录