중간 거래 SEO 진단 Taobao 게스트 클라우드 호스트 기술 홀
동적 응용 프로그램, 웹 사이트의 정적 콘텐츠를 기준으로, C/s, PHP, 자바, 펄, 서버 사이드 언어에서 개발 된 네트워크 응용 프로그램 소프트웨어를 말합니다. NET, 포럼, 네트워크 앨범, 친구, 블로그 및 기타 일반적인 응용 프로그램 등. 동적 응용 프로그램 시스템은 데이터베이스 시스템, 시스템 및 분산된 스토리지 시스템 캐싱 일반적으로 밀접 하 게 관련이 있습니다.
큰 동적 응용 프로그램 시스템의 플랫폼 큰 소통량 및 높은 동시 웹의 낮은 수준의 시스템 아키텍처에서 주로 목적 이다. 대형 웹 사이트의 작업 확장, 웹 응용 프로그램의 원활한 작동을 보장 하기 위해 지원으로 응용 프로그램 시스템 플랫폼을 유지 하 게 쉬운, 신뢰성, 안전을 해야 합니다.
큰 동적 응용 프로그램 시스템은 여러 하위 시스템으로 분할 될 수 있다:
1 웹 프런트 엔드 시스템
2 부하 분산 시스템
3 데이터베이스 클러스터 시스템
4) 캐싱 시스템
5 분산된 스토리지 시스템
6 배포 서버 관리 시스템
7 코드 분배 시스템
웹 프런트 엔드 시스템
구조 차트:
단일 지점 실패를 방지 하려면, 공유 하는 서버의 다른 응용 프로그램을 달성 하기 위해 중앙 집중식 관리, 통합된 구성 및 파티션 서버를 사용 하지 않기 위하여에, 그러나 증가, 일부 응용 프로그램에 액세스할 때 통합된 사용에 대 한 모든 서버로 각 서버 여러 응용 프로그램에 대 한 서비스를 제공할 수 있습니다. 전체 서버 클러스터의 성능을 서버 노드를 추가, 그것은 또한 혜택을 응용 프로그램. 웹 프런트 엔드 시스템 아파치/lighttpd/eginx 및 PHP 프로그램의 실행 환경을 제공 하는 다른 가상 호스트 플랫폼을 기반으로 합니다. 서버는 개발자에 게 투명 하며 서버 관리에서에서 개발자의 개입 없이
로드 균형 조정 시스템
부하 분산 시스템 두 가지로 나누어: 하드웨어 및 소프트웨어. 하드웨어 부하 분산 효율은 높은, 하지만 가격이 비싸고, F5 등. 소프트웨어 로드 균형 조정 시스템 가격입니다 낮은 또는 무료, 효율성 하드웨어 로드밸런싱 시스템 보다 낮은 이지만 사이트 보다 일반적으로 또는 약간 큰 트래픽을 LVS, 같은 Nginx를 사용 하 여 충분 하다. 대부분의 웹 사이트는 하드웨어 및 소프트웨어 부하 분산 시스템.
데이터베이스 클러스터 시스템
구조 차트:
웹 프런트 엔드 부하 분산 클러스터 구조를 사용 하 여 데이터베이스 전체 서비스 시스템의 높은 신뢰성을 보장 하기 위해 매우 안정적 이어야 하므로 효율성과 서비스의 확장성을 개선 하기 위해 대규모 동시 처리를 제공할 수 있는 고도로 신뢰할 수 있는 데이터베이스 시스템을 구축 하는 방법?
우리는 위에 표시 된 시나리오를 사용할 수 있습니다.
1 MySQL 데이터베이스, 웹 응용 프로그램 데이터베이스의 읽기 더 적은 특성, 우리는 주로 데이터베이스 읽기 전용을 제공 하도록 최적화 된 쓰기 고려의 사용 데이터베이스 읽기 읽기 작업의 응용 프로그램에서 데이터베이스를 작성 하 고 쓰기 다른 데이터베이스에 액세스 하는 작업.
2 MySQL 복제 메커니즘을 사용 하 여 신속 하 게 주요 라이브러리 (쓰기) 데이터베이스를 복사 합니다 (읽기 라이브러리)를. 여러 개의 주요 라이브러리 해당 라이브러리에서 주요 라이브러리 데이터 실시간으로 라이브러리에서에 동기화 됩니다.
3 쓰기 데이터베이스에 더 이상의 각각 함께 사용 하 여 여러 응용 프로그램을 제공할 수 있습니다,이 쓰기를 해결할 수 있는 라이브러리 성능 병목 문제 및 실패의 단일 지점.
4는 데이터베이스에 있는 하나 이상의 부하 분산 데이터베이스, 높은 신뢰성 및 높은 확장성의 고성능을 달성 하기 위하여 부하 균형을 달성 하는 장비를 통해 읽기.
5 데이터베이스 서버 및 응용 프로그램 서버 구분 됩니다.
6 BIGIP를 사용 하 여 데이터베이스에서 분산 로드 할.
캐싱 시스템
캐시 파일 캐시, 메모리 캐시 및 데이터베이스 캐시도 나누어져 있습니다. 가장 자주 사용 하 고 대규모 웹 응용 프로그램에 가장 효율적인 메모리 캐시입니다. 가장은 일반적으로 메모리 캐싱 도구는 memcached를 사용. 올바른 캐싱 시스템은 다음과 같은 목표를 얻을 수 있습니다.
1, 캐싱 시스템의 사용을 향상 시킬 수 액세스 효율, 서버 처리량의 용량 향상, 사용자 경험을 향상.
2, 데이터베이스 줄이고 세트 저장 서버 액세스 압력.
3, memcached 서버는 여러 명의 단위를 피하기 위해 단일 지점에서 실패, 높은 안정성과 확장성, 성능을 향상 합니다.
분산된 저장 시스템
구조 차트:
웹 시스템 플랫폼에서 저장소 요구 사항을 다음과 같은 두 가지 기능을가지고:
1 저장소 볼륨은 매우 큰, 수시로 도달 단일 서버 규모, 사진 앨범, 비디오 응용 프로그램 등을 제공할 수 없습니다. 따라서, 전문 대형 스토리지 시스템은 필수.
2 로드 균형 조정 클러스터의에서 각 노드에서 모든 데이터 개체에 액세스할 수 있습니다 하 고 그래서를이 노드에 의해 조작할 수 데이터는 논리적으로 전체, 아닌 별도 데이터 리소스에만 다른 노드에서 각 노드를 공유할 수 있습니다.
따라서, 고성능 분산 스토리지 시스템은 대형 웹 응용 프로그램에 대 한 매우 중요 합니다. (이 곳 분산된 스토리지 시스템에 대 한 간략 한 소개를 포함 해야 합니다.) )
분산된 서버 관리 시스템
구조 차트:
웹 사이트의 트래픽 증가와 네트워크 서비스의 대부분은 외부 서비스의 로드 균형 조정 클러스터, 클러스터 규모의 확장을 가진 서버 관리 모델에 기반 하는 원본 수 있습니다 우리의 요구를 충족 하지, 새로운 요구 사항을 중앙, 그룹화, 일괄 처리, 자동화 된 서버 관리 수 있어야 합니다. 실행 계획 작업을 일괄 처리 하 수.
분산 서버 관리 시스템 소프트웨어에 있는 몇 가지 우수한 소프트웨어, 그들의 사이에서 이상적인 하나 cfengine은. 그것은 서버를 그룹화 할 수 있습니다 그리고 다른 그룹에는 시스템 구성 파일, 예약 된 작업의 구성을 사용자 지정할 수 있습니다. 그것은 C/s 구조에 따라, 관리 서버 Cfengine Cfengine 클라이언트 프로그램을 실행 하는 동안 모든 서버 구성 및 관리 스크립트 Cfengine 서버에 저장 클라이언트는 SSL 암호화 연결을 통해 최신 구성 파일 및 관리 명령, 스크립트, 패치를 정기적으로 서버에 요청을 보냅니다.
Cfengine이 중앙 집중식된 서버 관리 도구, 우리가 효율적으로 대규모 서버 클러스터 관리를 구현할 수 있습니다, 그리고 관리 되는 서버 및 Cfengine 서버 배포 될 수 있다 어떤 위치에 신속 하 고 자동화 된 관리를 달성 하기 위해 네트워크 연결 수로.
코드 게시 시스템
구조 차트:
웹 사이트 트래픽 증가 함께 대부분의 네트워크 서비스 클러스터 규모의 확장으로 부하 분산 클러스터의 형태로 서비스를 제공 하는, 우리는 또한 프로그램 코드를 게시 일괄 배포 및 클러스터 환경에서 프로그램 코드의 업데이트에 맞게 시스템을 필요.
이 릴리스 시스템은 다음과 같은 목표를 달성 하는 데 도움이 될 것입니다.
1 가상 호스트 서비스, 유지 보수 및 직접 운영, 출판 시스템의 제공에 개입 하는 개발자에 대 한 필요가 없습니다 방문 서버 없이 구현할 수 있도록 서버의 프로덕션 환경 대상 서버에 프로그램을 배포할 수 있습니다.
2 우리 내부 개발, 내부 테스트, 생산 환경 테스트, 생산 관리의 환경 릴리스 4 개발 단계를 달성 하고자, 릴리스 시스템 코드 방출의 다양 한 단계에 개입할 수 있다.
3 구현 해야 소스 코드 제어 및 버전 관리, SVN이 요구이 사항을 달성할 수 있다.
이렇게 하면 도구를 사용 하는 일반적인, rsync, 적절 한 스크립팅 도구를 개발 하 여 서버 클러스터 사이의 코드 동기 배포를 구현 하기 위해 수 있습니다.