目前我有一個在歐洲部署的應用程序實例。它通過Web服務(SOAP)公開了一些功能。有很多客戶(幾千人)在全球範圍內使用(主要是北美,歐洲和亞洲)。在當前的設置中,一些客戶端必須對部署在不同大陸上的應用程序進行WS調用,這會顯着增加響應時間。關於通話字符 - 有效負載很小,但通常是通話。如何縮放這樣的系統?
現在我的想法是簡單地部署更多的應用程序實例,以便每個地理區域都有一個實例。但是,如何在不同的實例上負載平衡/負載分配請求存在問題。
方法#1。
我在開始時就想到了一些HTTP級別的負載平衡 - 讓一臺主機公開相同的WS方法,並將它們委託給不同的應用程序實例。但我認爲在這個解決方案中,我不會在傳輸時間方面獲得任何收益 - 整個請求將不得不轉到一箇中心位置,然後到達目的地。因此,數據包路由將比單個實例更長。
方法#2。
然後我想到了DNS級別的負載均衡。無論如何,DNS查找必須完成,如果返回的IP可以指向關閉地理位置的實例,那就是它!但是這個解決方案似乎更復雜一些,因爲我不得不部署一個新的DNS系統(或者只是配置我公司使用的系統,如果它支持這樣的)。 Google上的快速搜索也顯示了大多數基於商業DNS的負載平衡器。
問題,我想一些幫助回答是:
1)我錯過任何上述2種方法的東西嗎?
2)有沒有更好的方法來解決這個問題,這可能是什麼?