SpringCloud微服务架构体系下如何快速本地接口联调
痛点:
从前端Q同学,需要联调后端H同学本地的一个接口服务开始说起….
H同学的接口需要用户认证信息,用于后续的业务逻辑校验,需要连接授权服务(Auth)来进行验证,需要连接用户主数据系统(MasterData)获取关联的组织机构信息。需要连接三方系统进行三方接口调用通知。等等。
在微服务架构体系内,H同学需要启动 Nacos 服务注册中心、网关服务、Auth、MasterData、ThreeOther 和自己开发的服务,总共6个服务。如果 MasterData 有其他的服务依赖估计还得增加其他的服务扩展启动。
能否只启动本地一个服务既可以满足前后端这个接口服务的联调?
可以!
- 调整架构,支持获取request的header头信息。如请求参数的header添加指定的userid:123456告诉此服务当前用户信息。
- 基础架构支持在无用户信息时,尝试获取header的userid并将用户信息存放至threadLocal。用户上下文获取当前登录人信息。
在定义feign接口时指明url,如:
@FeignClient(url = "${admin-url:}",name = "admin",contextId = "admin")
- 调整本地服务配置增加admin-url=测试或开发联调环境的admin服务即可。
- 其他关联服务按3依次调整即可。
还没有评论,来说两句吧...