(马蜂窝技术原创内容,公众号 ID:mfwtech)
Part 1 背景
大交通业务需要对接机票、火车票、租车、接送机等业务的外部供应链,供应商的数据接口大部分通过 HTTP、HTTPS 等协议进行通信。
为了保证开发进度并支持集成测试时进行多场景支持,我们往往需要对供应商接口进行 MOCK。之前我们在开发环境和测试环境对外部接口的调用没有统一管控,无法实现调用开关,也无法对调用量进行统计和限制。
为了解决这些问题,我们设计了接入 API 资源隔离系统 JARVIS(Join Api Resource Virtual Isolation System),希望它可以像钢铁侠中的 Jarvis 一样帮我们解决资源的管控问题。
Part 2 设计原则
-
图形化操作,提供管理后台,对开发和测试同学的交互要友好。
-
对业务无侵入,无需修改业务系统代码,保证测试的代码和发布的是一致的。
-
业务关联,这个系统是为业务服务的,需要提供必要的业务关联性。
-
支持丰富的匹配规则,可以用于绝大部分使用场景。
-
所配即所得,管理规则可以即时生效。
-
请求响应可追溯,提供详细的日志记录和查询功能。
Part 3 设计与实现
整体思路
供应商