我們在Azure上託管了多個應用程序。我們已經開始看到需求增加,並希望有一些策略來構建/重新構建我們的應用程序,以響應Azure的需求。Azure體系結構縮放方法
專爲規模和成功設計的人們正在擴大成百上千的併發用戶的數量級:您能否就如何解決這些問題提供建議。你是如何發展這種專業知識的?僱用培訓師?內部開發專業知識?
我們在Azure上託管了多個應用程序。我們已經開始看到需求增加,並希望有一些策略來構建/重新構建我們的應用程序,以響應Azure的需求。Azure體系結構縮放方法
專爲規模和成功設計的人們正在擴大成百上千的併發用戶的數量級:您能否就如何解決這些問題提供建議。你是如何發展這種專業知識的?僱用培訓師?內部開發專業知識?
實際上,您可以通過增加應用服務計劃中的實例並增加定價層來擴展您的Web應用。您還可以配置自動縮放,以便運行Web應用程序的實例數量隨着負載自動增加。您還希望通過移動到另一個服務層來擴展數據庫,並且可能需要添加地理複製。有關如何使用這些技術,並很好地概括了一些其他的資源,請參閱: https://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/
縮放在更一般的建築感是一個答案的範圍之內,因爲大衛提到,有各種各樣的有效方法(即將應用功能分離成微服務,添加緩存,使用CDN等)。
看,問題在於你的回答雖然有趣,但並不是一個具體的答案。並且通過增加實例和定價層來擴展Web應用程序並不一定有效,特別是當這些Web應用程序實例正在使用外部資源(緩存,數據庫,api,任何東西)時。與應用層縮放相同。在擴展時數據庫並不總是更快(不要忘記磁盤/網絡瓶頸)。而地理複製也會產生額外的影響。就像我說的:這是一個很好的*討論*,但不適合StackOverflow。 –
大衛是對的;你的問題沒有單一的答案。由於您具體參考Azure,因此我會推薦兩件事情來考慮。如Adrian指出的那樣,Azure內有旋鈕和開關可以在規模問題上拋出更多機器,而且這些設備可以在短期內發揮作用。最終,糟糕的應用程序設計將永遠是瓶頸。爲此,我將研究作爲通用概念的雲設計模式(https://msdn.microsoft.com/en-us/library/dn568099.aspx),但這些示例是Azure特有的。在一起,這兩件事是你需要知道的。
不幸的是,這個問題不適合StackOverflow。真的沒有正確的答案,許多可能的(和有效的)方法。這是一個非常廣泛的討論話題,這種方法實際上取決於您的應用程序(並且可能還有幾種方法可供選擇)。 –