在Java和.NET中創建可伸縮Web /企業應用程序的推薦步驟是什麼?我對從小批量應用到大批量應用(假設原始架構沒有重大缺陷)需要做什麼感興趣。例如,每個平臺有哪些選項可用於羣集,負載平衡,會話管理,緩存等等。比較Java和.NET上的可伸縮Web應用程序體系結構
1
A
回答
3
不幸的是,你的問題有很多方面將取決於上下文。根據您的要求和應用,可伸縮性可能意味着不同的事情。需要回答,你拿出你的架構(不管您正在使用的技術)的問題包括:
- 例如你想支持用戶數據量非常大的工作或你只需支持每個用相對適中的數據量的大量用戶?
- 您的應用程序是否執行更多的讀取操作而不是寫入操作,因爲讀取操作非常便宜,而且寫入操作比較昂貴,讀取較重的應用程序比寫入較重的應用程序可以更容易擴展。
- 應用程序中的數據是否始終保持一致或最終一致性是否足夠?認爲向社交網站發佈消息與從銀行賬戶中提取資金)。
- 您的應用程序需要具備哪些功能?嚴格的高可用性要求可能會要求您在一臺服務器崩潰時順利地將故障轉移到其他服務器。
在正確討論應用程序體系結構之前,還有許多其他問題需要回答關於您的特定應用程序。
但是,我不僅僅給你留下問題,而且這裏沒有一個答案是我認爲設計Web應用程序以實現可伸縮性時要考慮的最重要的事情:減少(如果可能,降低到零)應用程序中共享會話狀態的數量(全局應用程序計數器,緩存的主鍵塊等)。在羣集中複製共享狀態的成本非常高,當您嘗試按比例擴大時
0
跨越this解釋的MySpace如何擴大規模,真的很有趣,正是那種我正在尋找的信息剛剛來到。然而,沒有關於用於創建分區或高速緩存等等...
1
也許有這麼多的選擇的技術討論,我不知道任何人要考慮所有的選項全部。通常情況下,語言的選擇是第一位的,然後你決定如何實現你想要的結果。
我的猜測是你必須在幾乎所有主要的通用語言不錯的選擇。 這是10年前的問題,但今天恕我直言。
在Java中使用開源技術的一個很好的比較http://java-sources.org/當你鑽到每個類別中,你可以看到這是相當廣泛的,它甚至考慮商業產品或C#
對於任何可擴展的系統,你還需要考慮硬件解決方案,例如網絡組件。
我對轉向低容量應用到高容量的一個建議,就是開始擺在首位的東西相當高的量,並希望你去重新設計它。
你在談論什麼類型的卷?每個人都有不同的高低成交量預期。例如如果谷歌的平均交易量低於整個數據中心的交換量以節省電量。 ;)
0
簡短的答案 - 這取決於。涉及的業務目標是什麼(如果有的話)?什麼是項目預算和時間表?哪個行業(受監管)?
相關問題
- 1. 可伸縮的web應用程序體系結構
- 2. 應用程序體系結構建議(可伸縮性/性能)
- 3. socket.io的可伸縮體系結構
- 4. .net應用程序體系結構
- 5. java web應用程序中的可伸縮性和性能
- 6. 具有Web服務的.net應用程序的體系結構
- 7. Web應用程序性能和部署體系結構(Java)
- 8. Web應用程序體系結構
- 9. Spring Web應用程序體系結構
- 10. Web應用程序體系結構
- 11. .Net Web應用程序體系結構的性能
- 12. 可可 - 應用程序體系結構
- 13. 爲Web應用程序開發可伸縮體系結構的過程是什麼?
- 14. 性能和可伸縮性的體系結構問題
- 15. Java Web應用程序的體系結構
- 16. Java EE web應用程序的體系結構
- 17. 實體數據框架和Web應用程序體系結構
- 18. 構建一個可伸縮的ASP.NET MVC Web應用程序
- 19. 構建可伸縮前端體系結構的任何資源?
- 20. 可伸縮的Java Web應用程序openshift - 503錯誤HAProxy
- 21. Java EE Web應用程序插件體系結構
- 22. Java Web應用程序「插件」體系結構
- 23. Mac OS X上的可可應用程序體系結構
- 24. React.js Web和原生移動應用程序的體系結構?
- 25. 在Java Stack上使用REST的Web應用程序體系結構設計
- 26. Java EE web應用程序體系結構可能的解決方案
- 27. 帶有Web服務的Web應用程序體系結構
- 28. 使用社交引擎設置可伸縮體系結構4.7
- 29. Spring MVC和Web應用程序體系結構
- 30. Web應用程序體系結構和應用程序服務器?