API 版本控制
在业务逻辑发生变更后维持 API 功能,需要更新 API 网关上的配置。API7 网关通过在服务(Service)级别提供强大的版本控制功能,简化了这一过程。你可以将特定的服务版本及其相应配置发布到不同的网关组中,从而确保部署的一致性并实现更平滑的回滚。
在 API7 网关中,并未强制要求进行严格的版本控制。是否实施哪怕最基础的版本控制系统,取决于你的组织需求以及希望对 API 网关配置达到的控制水平。
版本控制范围
唯一的服务版本号代表着一致的业务逻辑。
路由/Stream 路由
在 API7 网关中,路由(Route)或 Stream 路由的更改(除了插件和超时配置)均与服务版本绑定。 在已发布的服务版本中修改路由或 Stream 路由,可能会对正在使用这些 API 的开发者造成影响。这是因为他们现有的代码可能是依赖于先前路由配置的特定行为编写的。
上游
API7 网关依赖上游(Upstream)配置来管理其与后端应用程序(例如,服务器和数据库)之间的连接。 这些配置决定了网关如何与后端进行交互,且它们通常会因部署环境的不同而有所差异。
例如,在开发环境中,API 网关可能会配置为连接运行在开发者机器上的应用程序(如 devserver)。 而在生产环境中,它将连接部署在数据中心的实际后端服务器。
但请务必注意,上游配置本身独立于你的 API 核心逻辑。上游配置关注于通信的“方式(how)”,而你的 API 代码则关注于“内容(what)”——即它提供的具体功能。
即使在相同的 API 版本下,不同的网关组也可以通过上游配置指向不同的后端服务器。使用这些 API 的开发者不会受到影响。无论底层的后端配置如何,其代码对 API 的调用都会保持完全一致的运行结果。
总体而言,API7 企业版中的上游配置作为“运行时配置(runtime configurations)”提供了极大的灵活性。它们独立于版本控制,允许你随时进行修改而无需发布新的版本。