높은 동시성의 고성능 기술 아키텍처의 가용성 구가지에 대한 간략한

각각의 모델은 우리 주변의 문제와 문제의 반복 발생에 대한 해결책의 핵심을 설명합니다. 이러한 방법으로, 당신은 반복적 인 작업을 할 필요없이 다시 프로그램을 다시 사용할 수 있습니다. 소위 사이트 아키텍처 모델이 대형 사이트, 높은 신뢰성 및 운영 문제 등의 데이터의 엄청난 양의 높은 동시 액세스가 직면 한 일련의 문제를 해결하기 위해한다. 이러한 이유로, 실제로, 우리는 사이트 성능, 높은 신뢰성, 쉬운 확장 성, 확장 성, 보안 및 기타 기술 아키텍처의 목표를 가능하게 앞으로 솔루션의 숫자를 넣어.

첫째, 층화

아키텍처 모델의 가장 일반적인 기업 애플리케이션 시스템, 시스템은 폭 치수로 절단 것이다 레이어링하는 여러 섹션으로 분할되고, 그 하층의 조성 및 스케줄링 종속성 상층 통해 비교적 간단하고 비교적 간단한 기능 부의 각 담당 완전한 시스템.

사이트의 적층 구조에서, 상기 세 계층들, 즉 어플리케이션 계층, 서비스 계층, 데이터 영역에 대한 것이 일반적이다.

응용 계층, 쇼 비즈니스 및 뷰의 담당;

서비스 계층은 애플리케이션 계층에 대한 지원 서비스를 제공하기 위해;

데이터 계층은 데이터베이스, 캐싱, 파일, 검색 엔진과 같은 데이터 스토리지 액세스 서비스를 제공합니다.

계층 구조는 논리적으로 물리적으로, 3 계층 아키텍처가 동일한 물리적 시스템에 배포 할 수 있습니다 배치하지만, 사이트 운영의 발전과 함께, 피할 필요는 별도의 모듈, 적층 된 별도로 배포 3 계층 아키텍처를 배포 다른 서버에 사이트보다 더 많은 사용자 액세스에 대처하기 위해 컴퓨팅 자원을했다.

그래서, 계층화 된 아키텍처 패턴의 원래 목적 동안, 소프트웨어를 계획하는 것은 발전을 유지하기 위해 명확하고 논리적 구조이다. 그러나 사이트의 개발 과정에서 사이트의 계층 구조는 개발의 방향에 중요한 분산 높은 동시성을 지원합니다.

높은 동시성의 고성능 기술 아키텍처의 가용성 구가지에 대한 간략한

둘째, 중복

사이트가 연속 실행의 7 × 24 시간이 필요합니다, 당신은 촬영 기계 및 클러스터 중복 아래로 고 가용성 서비스의 배포를 통해 달성 될 수없는 액세스가 두 개 이상의 서버를 구성 할 경우의 하나에 해당하는 중복을 가지고 있습니다. 정기적으로 데이터베이스 백업 외에도 더위와 추위를 백업을 구현해야합니다. 전 세계적으로도 배포 재해 복구 데이터 센터.

셋째, 분리

소프트웨어 분리 횡 측면에 적층되면, 격벽 길이 방향 소프트웨어 측면으로 분할한다.

모듈러 유닛 높은 응집력 및 낮은 결합으로 패키징 클수록 사이트 더 복잡한 기능보다, 이러한 다양한 기능과 서비스 분리형 처리 및 데이터 서비스의 유형은,뿐만 아니라 소프트웨어의 개발과 유지에 도움 다른 모듈을 전개 사이트의 동시 처리 능력과 확장 성 기능을 향상시키기 위해 쉽게 배포했습니다.

크기에 따라 분리 된 대형 사이트는 작은 수 있습니다. 예를 들어, 응용 프로그램 계층에서, 같은 쇼핑, 포럼, 검색, 광고가 서로 다른 애플리케이션으로 분리 등의 다양한 서비스를 분리, 다른 서버에 배포 할 책임이 팀을, 반대가있다.

넷째, 비동기

서비스 요청 메시지들 사이의 비동기 전송을 사용하여 동기화되지 않고, 데이터 공유의 방법에 의해 각 위상 비동기 공동 사이의 작동상의 복수로 동작이 수행된다.

하나의 서버 내에서 사용 가능한 공유 메모리 멀티 스레드 방식에 의해 구현되는, 분산 비동기 메시지 큐에 의해 구현 분산 시스템에서 사용된다.

비동기 아키텍처 방식 생산자와 소비자의 전형이다, 두 사람은 직접 호출이 존재하지 않습니다.

다섯째, 분산

주요 목적으로 계층 분리 대형 사이트의 경우, 분산 배치를 용이하게 분리 한 후 모듈을 절단하는 것입니다, 곧, 다른 서버에 다른 모듈에서 함께 원격 작업에 대한 호출을 배포됩니다. 분산 수단은 더 많은 사용자에게 제공 할 수있다, 따라서 더 많은 컴퓨터가 동일한 작업보다 컴퓨터, 더 CPU, 메모리, 스토리지 자원 및 더를 통해 처리 될 수있는 데이터에 대한 동시 접속의 양을 완료 사용할 수 서비스를 제공합니다.

웹 애플리케이션에서 일반적으로 사용되는 프로그램은 몇 가지에 대해 배포했다.

분산 응용 프로그램 및 서비스 : 분리 후 배치 계층 및 분산 응용 프로그램 및 서비스 모듈은, 사이트 성능과 동시성을 향상 개발 및 출시 속도를 가속화, 데이터베이스 자원 소비를 줄일 수 있습니다.

분산 정적 자원 : 같은 JS, CSS, 로고 사진 및 배포 반대와 독립적 인 도메인 이름 배포 된 다른 자원 정적 자원의 웹 사이트는 종종 정적 및 동적 분리 함. 배포 분산 정적 자원은 부하 압력 응용 프로그램 서버를 줄일 수 있으며, 동시에 브라우저의 로딩 속도를 빠르게하기 위해 별도의 도메인 이름을 사용하여.

데이터 저장을 분산 : 대형 사이트의 단위로 P에 대량의 데이터를 처리 할 필요가 하나의 컴퓨터는 큰 저장 공간을 제공 할 수 없습니다,이 데이터베이스는 스토리지를 분산이 필요합니다.

일반적 하둡과 MapReduce를 사용하는 현재의 위치를 계산하는 이러한 배치를위한 프레임 워크를 분산 컴퓨팅 : 분산 컴퓨팅 모바일 컴퓨팅보다는 데이터 이동 특징 , 데이터 계산 및 분산을 가속화하기 위하여 계산 된 위치에 분산 계산 프로그램.

높은 동시성의 고성능 기술 아키텍처의 가용성 구가지에 대한 간략한

여섯째, 보안

많은 모드에서 사이트 보안 아키텍처 : 비밀 번호와 휴대 전화 체크 코드에 의한 인증, 자원 봇의 오용을 방지하기 위해, 당신은 식별하는 인증 코드가 필요합니다; 로그온, 거래는 트래픽이 암호화되어있는 네트워크를 필요 일반적인 XSS에 대한 ** * SQL 주입 트랜스 코딩이 필요, 스팸이 필요 필터링.

세븐, 자동화

구체적으로 게시 프로세스 자동화, 자동 코드 관리, 자동화 된 테스트, 자동화 된 보안 테스트, 자동화 된 배포, 자동화 된 모니터링, 자동 경보, 자동 장애 복구, 자동 장애 복구.

여덟 개 클러스터

중앙 모듈에 액세스하는 사용자는 별도의 서버 클러스터를 배포하는 데 필요한 경우, 즉 다수의 서버는 동일한 응용 프로그램이 공동으로 부하 분산 장치를 통해 서비스를 제공하기 위해 클러스터를 구성하고 배포 할 수 있습니다.

서버 클러스터는 액세스, 간단하게 할 수있는 클러스터에 새 시스템을 추가 할 더 많은 사용자가 그렇게 할 때, 동일한 서비스를 더 많은 동시 지원을 제공 할 수 있습니다, 또한 하나의 서버가 실패했을 경우에 달성 될 수있다, 당신이 할 수있는 이 시스템 가용성을 향상시킬 수 있도록 요청, 장애 조치로드 밸런싱 메커니즘에 의해 클러스터의 다른 서버로 전송됩니다.

높은 동시성의 고성능 기술 아키텍처의 가용성 구가지에 대한 간략한

나인, 캐시

캐시 개체는 컴퓨팅 서버가 사용자에게 직접 데이터를 반환 줄이는 것입니다. 오늘날의 소프트웨어 설계에서, 캐시는 어디에나있다. 그래서 콘크리트 실현 CDN, 리버스 프록시, 로컬 캐시, 분산 캐시합니다.

두 가지 캐싱의 사용에 대한 조건은 다음과 같습니다 캐시 요구에 데이터 액세스 핫스팟이 고르지, 그 어떤 자주 액세스하는 데이터는, 데이터가 일정 시간에 따라 사용할 수 있지만 곧 만료 때문에 오래된 더러운 읽기의 데이터 여부, 데이터의 정확성에 영향을 미칩니다.

높은 동시성의 고성능 기술 아키텍처의 가용성 구가지에 대한 간략한

일반적인 진행, 공유 학습

나는 [공공의 수가 모두의 관심을 환영 코드로 침착 한 학습 자료는 내부에있을 것입니다 마감재, 내부에 업데이트됩니다, 대량 자바 관련 기사].

나는 칭찬의 점에 쓰기에 좋은 느낌을 더한 추종자들은 성가! 관심의 포인트는, 분실하지, 지속적으로 업데이트! ! !

대규모 인터뷰, 정보 공유 아키텍처

높은 동시성의 고성능 기술 아키텍처의 가용성 구가지에 대한 간략한

추천

출처blog.51cto.com/14570694/2482938