我們在生產環境中有多個版本的Web服務(包括REST和SOAP),並且每個版本的編號都越來越大。Web服務版本控制:是ESB矯枉過正?
在版本之間,可能會對請求和響應進行較小的更改(通常是添加新字段)。
如果我們要退休舊版本,我們如何繼續爲舊版本提供服務?
可能的解決方案的一個方面涉及創建「虛擬端點」,以將對先前版本的請求路由到相同服務的新版本。因此,/ v1/customer/1的請求映射到/ v2/customer/1。我們正在使用Mashery,通過它可以很容易地完成。
我們還希望將轉換規則應用於請求和響應,以生成符合舊合同的XML和JSON響應。
總而言之,我們需要將路由和轉換規則應用於所有傳入消息和響應。 ESB是否過分矯枉過正?我們的標準並不完全符合http://blogs.mulesoft.org/to-esb-or-not-to-esb/中列出的標準。有一個更簡單的解決方案來解決這個問題嗎?一個不需要修改我們的代碼來實現請求和響應的版本控制?
我喜歡做飛行員的想法。如果運行太困難,那麼我可以排除使用該特定框架。應該有足夠輕量級來支持我們的用例,但不會阻礙。 – 2011-04-16 13:49:19