我們試圖設計6個Web服務,它們將服務於另一個客戶端組件。客戶端組件需要來自我們正在實施的Web服務的數據。通過Web服務傳遞大量數據的理想方式/體系結構
現在,問題是,我們正在實現的Web服務不是1個,有一個客戶端組件訪問的Web服務,這啓動了一系列(5個)Web服務,它們從各自的數據存儲最後將數據提供回原始Web服務,然後將原始數據傳回客戶端組件。
因此,如果請求的數據變成巨大的,那麼,這對我們的內部溝通渠道將是一個嚴重的問題。
那麼,你們有什麼建議?可以採取什麼措施來避免內部Web Service之間的通信通道過載,同時還要將數據交付給客戶端組件。
更新1
使用5 WS,其中,1WS不知道別人,除了下一個是業務需求。實際上,5家公司正在整合「小型服務」。
我們使用Java和Axis2
您使用的是什麼webservice框架?如果您使用的是ASP.NET,則可以選擇使用二進制xml序列化,這可以顯着提高性能。此外,如果您可以避免使用基於SOAP/xml的web服務,而是使用純文本json,那麼這也會大大減少您的有效負載。最後,Web服務的設計是向外界公開一個公共API,認真考慮直接與「系列(5個或更多)」Web服務的數據庫進行溝通,如果這些服務是嚴格內部的話。 – 2010-04-17 13:30:36
問題已更新 – zengr 2010-04-17 18:06:50
您可以緩存您從中抽取的5個外部Web服務的結果(可能是指定的到期間隔)嗎?這對我來說是一個非常有效的解決方案。 – 2010-04-18 05:37:49