문제

What 디자인 패턴기술 당신이 사용하는 것은 특히으로 설치된 확장성?

패턴 등 플라이급 패턴 내 것이 될 전문 버전 공장 패턴, 을 촉진하기 위해,높은 확장성이나 작업할 때에 메모리 또는 저장 제약 조건이 있습니다.

무엇이 다른 사람들이 당신이 사용됩니까?(비정규화의 데이터베이스, 등.) 당신은 당신을 찾는 규칙을 변경할 때 높은 가용성이나 확장성의 기본 목표입니까?

가능한 상황은:

  • 모바일 기기로 더 많은 메모리가 제한 처리 능력,그리고 연결 보 데스크탑이나 노트북
  • 고#에서 사용자의 제한된 하드웨어(캐싱 전략,etc.)
  • 의 최적화는 데이터베이스에 대한 스키마에서 효율 대신에 표준화된 디자인(예:SharePoint 열을 감싸는 저장을위한)
도움이 되었습니까?

해결책

염두에 두는 몇 가지 패턴 :

  • 무국적 응용 프로그램
  • 느슨한 결합
  • 비동기
  • 게으른 하중
  • 캐싱
  • 병행
  • 분할
  • 라우팅

일부 리소스 :

다른 팁

응용 프로그램을 가능한 한 상태로 만들 수 있습니다. 서버 팜에 쉽게 적응하기가 더 쉽습니다.

무료는 없습니다. 비즈니스 목표를 달성하기 위해 허용되는 타협에 달려 있습니다. 주요 변수는 다음과 같습니다.

  • 비용
  • 유효성
  • 일관성
  • 생존 가능성 (예 : 파티션 내성)

우수합니다 종이 주제에 대해 읽습니다.

좋은 지표는 "비용/사용자"곡선을 검사하고이를 선형 진행으로 유지하는 것입니다 (사용자 당 허용 가능한 비용이 알려진 매개 변수라고 가정합니다 :-)

디자인 패턴은 역할을 수행하지만 가장 중요한 아키텍처입니다. 모듈 수준에서 매우 철저했을 수도 있지만 네트워크 수준의 제약 조건과 확장 성이 결과적으로 어려움을 겪을 수 있습니다.

하루가 끝날 무렵, 나는 자신에게 물어봐야한다고 생각합니다. 실패 유형 X의 경우 얼마나 많은 "사용자"가 영향을받을 수 있고 얼마나 오래 걸릴 수 있습니까?

어딘가에 항상 SPOF (단일 고장)가 있지만이 SPOF가 엔드 포인트 (예 : 사용자)에 가까워 지도록 시스템을 엔지니어링 할 수 있습니다. 그러나 많은 경우에, SPOF는 응용 프로그램의 제어를 벗어나 네트워크 팝을 사용할 수 없다.

어쨌든, 나는 주제에 몇 시간을 보낼 수있었습니다 ...

POSA (Patterns-Oriented Software Architecture) 책은 그러한 패턴의 훌륭한 소스입니다.

포사 4, 특히 분산 컴퓨팅과 관련이 있지만 모든 볼은 확장 성 패턴으로 가득합니다.

내가 무엇을 관찰 무 응용 프로그램 논리를 소개하고 많은 다른 다른 요구 사항과 같은 잠그기에서 DB 는 결국 그 일에 대한 확장성이 향상됩니다.

말할 수는 응용 프로그램 논리를 배치된 상태가 저장 서버 팜 전체에 대한 다음 요청을 타격하는 두 개의 노드 클러스터의 같은 시간에 우리가 소개하는 개념 같은 DB 잠금을 확인하는 단 하나의 요청이 처리됩니다.

내가 다루는 그런 상황이 지금 어떻게 다른 사람들을 다루고 그러한 무국적자는 동작입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top