2012-11-21 3 views
1

우리는 ASP.Net 3.5를 사용하여 만든 응용 프로그램 중 하나에 High Availablity 솔루션이 필요한 상황이 있습니다.ASP.Net 응용 프로그램에 대한 높은 가용성

클라이언트는 주어진 시간에 약 50,000 명의 사람들이 응용 프로그램에 액세스 할 것으로 예상하고 있으며 우리는 약 5 %의 동시 사용자가 응용 프로그램에 대략적으로 도달 할 것으로 예상합니다.

일반적인 트랜잭션에는 채워진 양식과 첨부 된 약 20MB의 문서가 포함됩니다.

나는 다음 알고 싶다 :

  1. 가 어디 위의 사용 요구 사항을 지원하는 IIS의 정보]의 regrding 처리량/성능을 얻을 수 있나요?

  2. 내 고객은 자체 Datacenter를 보유하고 있으며 해당 인프라에서 인스턴스를 계속 실행하고 싶습니다.

마음에 이러한 요구 사항을 베어링, 나를 위해 고객의 데이터 센터에있는 것을 포함하여 다른 인스턴스 클라우드에서 실행 (윈도우 Azure 바람직) 및로드 밸런싱 모든 인스턴스를 가질 수 있습니까? 그렇다면 어떻게해야합니까?

주어진 시나리오에 대한 다른 의견을 환영합니다.

감사합니다.

답변

0

ASP.NET은 web..DELL, 마이 스페이스에 가장 큰 사이트의 일부를 실행, 마이크로 소프트 등

당신이 ASP.NET..it이 많은 것을 의미 할 수 있다고합니다. 나는 당신이 웹 폼에 대해 이야기하고 있다고 가정하지만, 웹 서비스 등에 대해 많은 Ajax 대화를 할 수있다.

ASP.NET 3.5는 수백만 명의 사용자에게 ASP.NET을 확장 할 수있다. http://www.slideshare.net/oazabir/scaling-aspnet-websites-to-millions-of-users#btnNext

아키텍처 디자인을 모르는 경우 질문에 대답하기가 어렵습니다. 무릎 멍청한 대답은 예. 사용자 번호에 따라 확장 할 수 있습니다. ASP.NET을 그 정도로 확장했습니다.


하늘을 절대적으로 웹 사이트를 확장하는 데 사용할 수 있습니다. 사실 많은 대규모 사이트는 자체 호스팅 기능을 갖추고 필요할 때 클라우드로 확장 (즉, Zynga는 Amazon을 사용)하거나 Apple은 Microsoft와 Amazon 모두를 사용하여 두 개의 클라우드에 iCloud를 확장합니다. Azure는 스테이트리스로드 밸런서를 포함하고 있으므로 세션 기반 웹 폼에서 끈적 세션 및 사용자 정의로드 균형 조정이 가능합니다. 그러나 중 하나가 필요합니다. 1) 요청을 적절히 라우팅하기 위해 구내에 작은 소프트웨어로드 균형 조정 서버를 작성하십시오. 2) Azure 캐싱, Azure 테이블 저장소, SQL Azure 등 ("기본적으로 InProc 세션 상태"가 아닌) "공용 영역"에 세션 상태를 저장합니다. Azure AppFabric 캐싱에는 InProc 캐싱을 대체 할 수있는 모듈이 포함되어 있습니다.

일부 클라이언트는 항상 클라우드에 있고 일부는 항상 호스팅되는 "멍청한"부하 분산 장치를 작성할 수도 있습니다. 그것은 훨씬 쉬울 것입니다.