【发布时间】:2011-07-25 16:40:41
【问题描述】:
我们有多个版本的 Web 服务(REST 和 SOAP)正在生产中,而且随着每个版本的发布,这个数字都会越来越大。
在版本之间,请求和响应可能会有细微的变化(通常是添加新字段)。
如果我们要淘汰旧版本,我们如何继续为旧版本的请求提供服务?
可能的解决方案的一个方面涉及创建“虚拟端点”以将先前版本的请求路由到相同服务的新版本。因此,对 /v1/customer/1 的请求映射到 /v2/customer/1。我们正在使用 Mashery,通过它可以轻松完成。
我们还希望对请求和响应应用转换规则,以生成符合旧合同的 XML 和 JSON 响应。
总而言之,我们需要将路由和转换规则应用于所有传入消息和响应。 ESB 是否过大?我们的标准不太符合http://blogs.mulesoft.org/to-esb-or-not-to-esb/ 中列出的标准。这个问题有更简单的解决方案吗?不需要修改我们的代码来实现请求和响应的版本控制?
【问题讨论】:
标签: service transformation esb