微服务构建持久API的7大规则
前言 近年来,微服务架构发展迅速,SparkPost就是早期落地微服务架构公司之一,他们发现落地微服务过程中,不光需要考虑服务发现、服务注册、服务调用跟踪链等等架构问题,也需要重视微服务API的变更管理。微服务的一大特性就是独立发布,快速迭代,但前提是足够稳定,他们在使用微服务构建API的过程中就遇到很多问题: 1. 客户(微服务使用方)经常反馈API 升级变更后不可用,有时影响范围不可控,导致该微服务上线延期,甚至线上故障,违背了微服务初衷 2. API参数变化或返回结果变化而导致客户端行为不一致,依赖客户端需要大量重构,团队不能专注在创新型工作 3. API 易用性差, 使用方技术栈不统一,各自进行API抽象及封装,容易出错 4. 缺少文档及使用引导,需要大量支持工作 5. 闭门造车,产出微服务往往不能满足需求,运行一段时间就会逐渐废弃 SparkPost经过多年的探索与实践,总结了大量最佳实践,指导他们构建持久稳定的微服务API。现如今,它们的API被成千上万的客户使用,包括Pinterest、Zillow和Intercomto,每月发送超过150亿封电子邮件。 在这篇文章中,我将回顾几个选择和最佳实践。 七大原则 一、Restful是最好的,但要实用,不需要学究式 首先,也是最重要的一步,我们采取的步骤是决定使用REST作为API