最佳答案:一个外部接口如何统一API地址,这个问题其实是接口网关如何设计。接口网关的整体架构如下图一所示。那API-Center对外提供的API地址如何设计呢?通常的设计方案为 https://${domain
一个外部接口如何统一API地址,这个问题其实是接口网关如何设计。
接口网关的整体架构如下图一所示。
那API-Center对外提供的API地址如何设计呢?
通常的设计方案为 https://${domain}/api-gatway?interface=${interface}
例如上述图中,内部服务包含了订单域,账户域、支付域等业务域,各自定义众多的Dubbo服务接口。
那接口网关如何设计呢?其实就是建立接口映射机制,即类似如下(为了显示更有好,省略了dubbo服务的包名)
interface Dubbo Service
api-createOrder OrderService#createOrder
api-updateOrder OrderService#createOrder
这样对于接口网关的使用方,传入的接口名称为 api-createOrder,但经过网关的转发就能调用到内部的接口。
当然接口网关的设计通常还需包含如下几个设计要点:
1、签名验证
2、协议转换(http接口参数与Dubbo参数映射、返回结果映射)
3、服务发现
4、限流、降级