返回

运用资源隔离系统,保障开发环境数据隔离

见解分享

随着大交通业务的蓬勃发展,需要对接机票、火车票、租车、接送机等业务的外部供应链,供应商的数据接口大部分通过 HTTP、HTTPS 等协议进行通信。为了保证开发进度并支持集成测试时进行多场景支持,我们往往需要对供应商接口进行MOCK。之前我们在开发环境和测试环境对外部接口的调用没有统一管控,导致了以下问题:

  • 开发环境和测试环境的数据不一致,导致开发和测试无法正常进行。
  • 开发环境和测试环境的接口调用不一致,导致集成测试无法正常进行。
  • 开发环境和测试环境的接口调用次数过多,导致供应商的接口服务器压力过大。

为了解决这些问题,我们设计并实现了资源隔离系统。资源隔离系统可以帮助开发人员在开发和测试环境中隔离数据,以确保开发和测试的顺利进行。

资源隔离系统的设计

资源隔离系统的设计主要包括以下几个方面:

  • 系统架构 :资源隔离系统采用微服务架构,由多个子系统组成。这些子系统包括:
    • 网关服务 :网关服务负责处理来自开发人员的请求,并将请求转发到相应的子系统。
    • 隔离服务 :隔离服务负责隔离开发环境和测试环境的数据。
    • Mock服务 :Mock服务负责模拟供应商的接口,以便开发人员可以在开发和测试环境中进行集成测试。
  • 核心功能 :资源隔离系统的主要核心功能包括:
    • 数据隔离 :资源隔离系统可以将开发环境和测试环境的数据进行隔离,以确保开发和测试的顺利进行。
    • 接口Mock :资源隔离系统可以模拟供应商的接口,以便开发人员可以在开发和测试环境中进行集成测试。
    • 接口调用次数限制 :资源隔离系统可以限制开发人员对供应商接口的调用次数,以防止供应商的接口服务器压力过大。
  • 实现细节 :资源隔离系统的实现细节主要包括以下几个方面:
    • 网关服务 :网关服务使用Spring Cloud Gateway实现。
    • 隔离服务 :隔离服务使用Redis实现。
    • Mock服务 :Mock服务使用WireMock实现。

资源隔离系统的使用

开发人员可以使用资源隔离系统来隔离开发环境和测试环境的数据,并对供应商接口进行MOCK。具体步骤如下:

  1. 在开发环境和测试环境中部署资源隔离系统。
  2. 在资源隔离系统的网关服务中配置供应商接口的地址。
  3. 在资源隔离系统的隔离服务中配置开发环境和测试环境的数据。
  4. 在资源隔离系统的Mock服务中配置供应商接口的MOCK数据。
  5. 开发人员可以在开发环境和测试环境中通过资源隔离系统的网关服务来访问供应商接口。

资源隔离系统的效果

资源隔离系统上线后,我们发现开发和测试的效率大大提高,集成测试的成功率也大大提高。同时,供应商的接口服务器压力也大大减轻。

资源隔离系统的总结

资源隔离系统是一个非常实用的系统,可以帮助开发人员在开发和测试环境中隔离数据,以确保开发和测试的顺利进行。资源隔离系统还可以帮助开发人员对供应商接口进行MOCK,以方便集成测试的进行。