上传文件,以及通过 Feign 调用上传文件接口

上传文件,以及通过 Feign 调用上传文件接口,第1张

(1)工具类

(2)定义接口

(3)调用 http://localhost:8080/image/upload 进行测试。

在目标文件夹中会出现上传的文件。

(1)定义一个 FeignClient 。

(2)调用上面定义的 FeignClient 接口。

(3)调肢灶用 http://localhost:8080/test 接口,控制台输出如历携扮下:

说明一隐缓切正常。

在两个进程传输的过程中,例如A进程向B进程传输数据,一般都需要传一些固定字段信息,这些信息一般是与业务无关,像调用链追踪,api网关等都需要传输此上下文信息。我们现在有两个应用,应用A是订单系统,应用B是用户中台系统,而且我们是toB的业务,用户是属于某个企业的,该企业的唯一标识为corpId,每个应用对应一个唯一的应用id,还有多个应用的调用链追踪侍笑需要传输traceId等,所以A调用B必须传输此几个字段,以下介绍dubbo和feign传输上下文的方法。

Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架毕谈宽使得应用可通过高性能的 RPC 实现服务的输手亮出和输入功能,可以和 Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现,具体想研究dubbo可以参考dubbo文档,本文只介绍dubbo传输上下文的方法:

注:采用http协议传输上下文信息,会将上下文字段设置到header,但是头信息中不能含有中文,所以需要进行编码后传输,然后在接受端解码。

文纤皮件上传进度消息

异步耗时任务完成消息:

常见方案:

根据解析器构造,传入必要参数。该解析器将替代默认实现

spring为WebSocket提供了很好的支持,参照官方文档即可完成服务搭建

继承 WebSocketMessageBrokerConfigurer 类,重写 registerStompEndpoints() configureMessageBroker() configureClientInboundChannel() 方法。

此处通过注解切面,在需要执行的方法前后想Message服务发送消息

该切面将以@SendMessage注解为切入点,利用反射获取形参名及参数值,封装MessageDto,调用Feign接口向消息洞郑模块发送消息

文件上传监听日志,成功监听上传进度

文件上传进度消息发送日志

耗时任务消息模块发送日志

前端消息渲染效果

大功告成!

尚有诸多缺点,但毁颤差保证了基础功能够用,诸位大佬可以做个小参考。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12150300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存