为什么要抛弃Pact?使用 EOLINKER API Studio 快速实现契约测试(CDC)

因为前后端对接的过程中会出现信息不对称,以及工作进度不一致的情况,因此希望通过事先约定好API返回数据的文档,根据文档来开发后端代码,以及生产可以被前端调用的虚拟的API,帮助前后端能够同时开展工作并且保持前后端代码的正确性,加快后期的系统集成测试甚至是取消系统集成测试。 我们将以上的做法称之为契约测试。契约测试最开始的概念由 Martin Fowler 提出,它又被称之为:消费者驱动的契约测试(Consumer Driven Contracts),简称CDC。这里的契约是指软件系统中各个服务间交互的数据标准格式,更多的指消费端(client)和提供端(server)之间交互的API的格式。 契约测试带来的变化主要是: 将前后端测试解耦,前后端可以分别在对方还没有完成工作的时候就开展测试; 将测试过程前移,加速或者取代集成测试; 保证数据的一致性,让后端服务返回的数据就是前端想要得到的。

微服务与API网关

当一个企业正在构建(或已经是)微服务的架构,我们可以将企业内部的系统架构简单地划分为内网系统以及边界系统: 内网系统:不涉及到外部数据交互,内部互相调用较多,API的粒度较细,有全链路追踪的要求,通讯协议多为RPC,追求性能以及稳定。 边界系统:涉及外部数据交互,一般处于内网与互联网(App、Web等应用)之间,几乎是外部调用,API的粒度较粗,通讯协议多为HTTP(REST),追求性灵活以及安全。 当我们谈论API Gateway(以下简称网关)的时候,一般指的是位于边界系统,链接内网与外网应用、第三方企业、用户的一个枢纽,负责帮助企业解决内部API对外暴露时的性能以及安全方面的问题。