문제

  1. 첫 번째 질문은 종종 여러 전용 서버를 사용하여 웹 사이트를 실행하고 사용자로부터 쿼리를 처리하는 사람들에 대해 종종 읽는 것입니다. 그러나 그들은 정확히 어떻게해야합니까? 도메인 이름을 입력하면 DNS는 맵을 IP 주소로 맵을 해결하지만 그 후에 손실되었습니다. 수백 개의 (잠재적으로) 수백 개의 요청을로드하기 위해 일종의 마스터/슬레이브 아키텍처가 있습니다. 서버?

  2. 이 경우 다양한 서버, 데이터를 공유하는 방법 (예 : 데이터베이스)은 어떻게 공유합니까? 동일한 하드 디스크에 연결됩니까?

도움이 되었습니까?

해결책

울트라 몬키 많은 서버에서 균형을 잡는 방법에 대한 좋은 설명을 제공하므로 1 개의 IP 주소가 표시되지만 연결은 많은 서버 중 하나 (결함 공차 포함)로 라우팅됩니다.

동일한 스토리지를 사용하는 웹 서버가없는 경우 (일반적인 스토리지가 까다로울 수 있습니다. '공유'파일 시스템과 같은 GFS, 또는 데이터베이스) 그런 다음 활성화해야합니다 끈적 끈적한 세션 라우터에 각 클라이언트가 처음으로 통신 할 서버를 선택하고 해당 서버를 유지할 것이라고 알려줍니다. 이것은 결함이 덜합니다 (그러나 웹에서는 다시 시작하려면 깨진 연결을 새로 고침해야합니다). 그러나 설계자는 훨씬 쉽습니다 (각 웹 서버가 독립적으로 유지 될 수 있으므로 더 빠릅니다).

진정으로 결함이있는 상황에서 필요한 다른 문제는 물리적 서버를 서로 멀리 떨어져있는 것입니다. 이는 대부분의 공유 설계에 대한 성능 문제를 제기하는 것입니다 (즉, 모든 서버가 SAN에있는 경우 모든 서버를 SAN에 넣을 수는 없습니다. 다른 국가)는 단일 DNS 이름과 정기적으로 데이터를 복제하는 여러 서버 접근 방식을 사용하는 것입니다. DNS로드 밸런싱 아마도 여러 웹 서버를 단일 웹 사이트로 사용하는 가장 쉬운 방법 일 수 있습니다.

이 경우 DB는 종종 모든 서버가 클러스터링 또는 더 자주 로그쉽을 사용하여 모든 서버와 통신하거나 스스로 공유 할 수있는 단일 데이터베이스가 될 수 있습니다. 로그쉽은 멀리 떨어진 곳에있는 것보다 백업 서버에서 더 일반적입니다.

다른 팁

1) NLB (네트워크로드 밸런싱)를 사용할 수 있습니다 - 농장의 모든 서버에 동일한 IP를 사용합니다.http://en.wikipedia.org/wiki/network_load_balancing_services http://technet.microsoft.com/en-us/library/cc759510.aspx

2) DB에 대한 SQL 클러스터 및 비 릴레이션 데이터에 대한 공통 파일 저장소http://www.sql-server-performance.com/articles/clustering/clustering_intro_p1.aspx

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