一个项目调用多类服务的接口如何解决路由问题?

问题描述

现在项目中用到了多类的服务,比如用户信息、订单信息、日记信息,假设这三类信息在三种服务上,比如

user.com
order.com
log.com

假设项目叫blog.com
当我需要调用三类服务的接口时,如何跳转呢?

方案一:

前端根据不同的服务接口,拼接好要访问的接口路径,发出请求时,就已经是带域名的链接,比如http://user.com/user/getuserlist

方案二

nginx根据不同的接口规则,路由到不同的服务上,比如/user/getuserlist就路由到user.com的服务上,/order/getorderlist就路由到order的服务上。

哪种方案是比较合理的,或者有没有其他比较合理的方案?

由于各种原因,目前无法让服务做一层封装,必须分开调用。
但是现在讨论结果是方案一,前端拼接,感觉很不合理。希望大神给个合理的方案。

阅读 2.2k
2 个回答

一般都是后端去转发,前端不去拼接要调用的接口的,这样做前端请求接口不好管理。

可以在后台实现一个服务网关,前端的请求都统一发送到网关上,由网关路由到真正服务地址,然后转发结果给前端。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题