微服务架构中,请求及其参数如何做存储处理?

查看 60|回复 3
作者:steelshadow39   
本人学生,在做项目的时候,遇到如下场景,想请教大家在实际公司项目中是如何解决类似问题的:
在第一次调用一个 POST 接口时,POST 请求体参数由用户前端填写,如果后端需要主动调用这个接口执行一次相同的任务,就必须要对这个 POST 请求的参数做持久化。做持久化就需要对请求中每个参数的字段做解析才能入库。
我使用 SpringCloudGateway 作为网关,管理模块和其他子模块都用 springboot 。我最初的想法是在网关层对请求做持久化,但由于每个请求体的参数对网关来说并不透明,网关需要对 JSON 请求体中的字段依次解析才能入库,而且我认为网关只用负责鉴权和路由,做持久化对整体性能肯定有影响(尽管项目规模小时并不明显)。
所以我现在的想法是,每个服务的请求由各自单独做持久化,因为请求体内的参数类型对负责处理它的接口来说都是透明的。如果用这种方式,是否还需要对每个请求参数做标识?这样管理模块才能够使用之前的参数来调用子模块的同一接口。管理模块和子模块一般是如何实现调度的呢?
以上表述难免有疏漏之处,如果大家还需要额外信息,我会及时补充,谢谢

持久化, 请求, 参数, 网关

julyclyde   
改改设计试试:
前端 POST 过来的那个,和实际干活的服务应该拆分
实际干活的服务可以被内部调用
steelshadow39
OP
  
@julyclyde #1 但内部调用实际干活的接口时,还是需要前端 POST 过来的参数
julyclyde   
环绕 aop 获取参数列表,取到后最好发 mq 。不影响接口性能
您需要登录后才可以回帖 登录 | 立即注册

返回顶部