'분산'과 '클러스터'의 차이점은 무엇인가요?
간단히 말하면 분산은 단일 작업의 실행 시간을 줄여 효율성을 높이는 반면, 클러스터링은 단위 시간당 실행되는 작업 수를 늘려 효율성을 높인다. \x0d\ 예: \x0d\ 작업이 10개의 하위 작업으로 구성되고 각 하위 작업을 개별적으로 실행하는 데 1시간이 걸리는 경우 한 서버에서 작업을 실행하는 데 10시간이 걸립니다. \x0d\ 분산 솔루션을 사용하면 10개의 서버가 제공됩니다. 각 서버는 하위 작업 간의 종속성에 관계없이 하나의 하위 작업만 처리합니다. 이 작업을 완료하는 데는 1시간밖에 걸리지 않습니다. (이러한 작업 모델의 대표적인 예로는 Hadoop의 Map/Reduce 분산 컴퓨팅 모델이 있습니다.) \x0d\ 클러스터 솔루션을 사용하면 서버도 10대 제공되며, 각 서버는 이 작업을 독립적으로 처리할 수 있습니다. 10개의 작업이 동시에 도착하고 10개의 서버가 동시에 작동한다고 가정하면 10시간 후에는 10개의 작업이 동시에 완료됩니다. 이렇게 하면 전체적으로 1시간 내에 하나의 작업이 완료됩니다. \x0d\ 다음은 온라인 기사에서 발췌한 것입니다. \x0d\ 1. 클러스터 개념 \x0d\ 1. 두 가지 주요 기능 \x0d\ 클러스터는 단일 서비스보다 더 큰 확장성을 제공하기 위해 함께 작동하는 서비스 엔터티 그룹입니다. 사용성 서비스 플랫폼입니다. 클라이언트의 관점에서 클러스터는 서비스 엔터티처럼 보이지만 실제로 클러스터는 서비스 엔터티 집합으로 구성됩니다. 단일 서비스 엔터티와 비교하여 클러스터는 다음과 같은 두 가지 주요 기능을 제공합니다. \x0d\ · 확장성 - 클러스터의 성능은 단일 서비스 엔터티로 제한되지 않으며 새로운 서비스 엔터티를 클러스터에 동적으로 추가할 수 있으므로 성능이 향상됩니다. 클러스터의 성능. \x0d\ · 고가용성 - 클러스터는 서비스 엔터티 중복성을 통해 서비스 중단 경고가 쉽게 발생하지 않도록 클라이언트를 보호합니다. 클러스터에서는 여러 서비스 엔터티가 동일한 서비스를 제공할 수 있습니다. 한 서비스 엔터티가 실패하면 다른 서비스 엔터티가 실패한 서비스 엔터티를 인수합니다. 하나의 실패한 서비스 엔터티에서 다른 서비스 엔터티로 복구하기 위해 클러스터에서 제공하는 기능은 애플리케이션의 가용성을 향상시킵니다. \x0d\ 2. 두 가지 주요 기능\x0d\ 확장성과 고가용성을 갖추려면 클러스터에 다음 두 가지 기능이 있어야 합니다. \x0d\ · 로드 밸런싱--로드 밸런싱은 클러스터 환경 컴퓨팅 및 네트워크에 작업을 균등하게 분배할 수 있습니다. 자원. \x0d\ · 오류 복구--어떤 이유로 특정 작업을 수행하는 리소스가 실패하고 다른 서비스 엔터티에서 동일한 작업을 수행하는 리소스가 계속해서 작업을 완료합니다. 한 엔터티의 리소스가 작동할 수 없고 다른 엔터티의 리소스가 작업을 투명하게 계속 완료하는 이 프로세스를 오류 복구라고 합니다. \x0d\로드 밸런싱과 오류 복구는 모두 동일한 작업을 수행하는 리소스가 각 서비스 엔터티에 존재해야 하며, 동일한 작업의 각 리소스에 대해 작업을 수행하는 데 필요한 정보 보기(정보 컨텍스트)가 동일해야 합니다. 3. 두 가지 주요 기술 서비스 실체의 기능. 단일 클러스터 주소(단일 이미지라고도 함)를 갖는 것은 클러스터의 필수 특성입니다. 클러스터 주소를 유지하는 설정을 로드 밸런서라고 합니다. 로드 밸런서는 내부적으로 각 서비스 엔터티의 가입 및 탈퇴를 관리하고, 외부는 클러스터 주소를 내부 서비스 엔터티 주소로 변환하는 역할을 담당합니다. 일부 로드 밸런서는 실제 로드 밸런싱 알고리즘을 구현하는 반면 다른 로드 밸런서는 작업 전환만 지원합니다. 작업 전환만 구현하는 로드 밸런서는 클러스터에서 하나의 서비스 엔터티만 작동하는 ACTIVE-STANDBY를 지원하는 클러스터 환경에 적합합니다. \x0d\ · 내부 통신 - 함께 작동하여 로드 밸런싱 및 오류 복구를 달성하려면 각 클러스터 엔터티가 서비스 엔터티의 하트비트 테스트 정보 및 서비스 엔터티 간의 작업 실행 컨텍스트 정보에 대한 로드 밸런서의 통신과 같이 자주 통신해야 합니다. \x0d\ 동일한 클러스터 주소를 사용하면 클라이언트가 클러스터에서 제공하는 컴퓨팅 서비스에 액세스할 수 있습니다. 각 서비스 엔터티의 내부 주소는 클러스터 주소 아래에 숨겨지므로 고객이 요구하는 컴퓨팅 서비스가 각 서비스 엔터티에 분산될 수 있습니다.
내부 통신은 클러스터의 정상적인 작동을 위한 기반이며, 이를 통해 클러스터는 로드 밸런싱 및 오류 복구 기능을 갖출 수 있습니다. \x0d\ 2. 클러스터 분류 \x0d\ Linux 클러스터는 크게 세 가지 범주(고가용성 클러스터, 로드 밸런싱 클러스터, 과학 컴퓨팅 클러스터)로 구분됩니다. \x0d\ High Availability Cluster(고가용성 클러스터) \x0d\ 로드 밸런스 클러스터(Load Balance Cluster) Balance Cluster)\x0d\Scientific Computing Cluster(고성능 컴퓨팅 클러스터)\x0d\ 구체적으로는 다음을 포함합니다:\x0d\ share-nothing 클러스터 등)\x0d\ Linux 로드 밸런스 로드 밸런싱 클러스터\x0d\(LVS 등.. .)\x0d\ Linux 고성능 컴퓨팅 고성능 과학 컴퓨팅 클러스터\x0d\(베오울프급 클러스터....)\x0d\ 3. 세부 소개\x0d\ 1. 고가용성 클러스터 ","이중 머신 상호 백업 ", "이중 기계". \x0d\ 고가용성 클러스터링은 사용자 응용 프로그램이 외부 세계에 서비스를 계속 제공할 수 있도록 보장하는 문제를 해결합니다. (고가용성 클러스터는 비즈니스 데이터를 보호하기 위해 사용되는 것이 아니라 사용자의 비즈니스 프로그램을 보호하여 외부 세계에 중단 없는 서비스를 제공하고 소프트웨어/하드웨어/인적 장애가 비즈니스에 미치는 영향을 최소화하기 위해 사용됩니다.) . \x0d\ 2. 로드 밸런싱 클러스터\x0d\ 로드 밸런싱 시스템: 클러스터의 모든 노드가 활성화되어 시스템의 작업 부하를 공유합니다. 일반적으로 웹 서버 클러스터, 데이터베이스 클러스터 및 애플리케이션 서버 클러스터가 모두 이 유형에 속합니다. \x0d\ 로드 밸런싱 클러스터는 일반적으로 네트워크 요청에 대응하는 웹 서버 및 데이터베이스 서버에 사용됩니다. 이러한 종류의 클러스터는 요청을 받을 때 더 적은 수의 요청을 받아들이고 바쁘지 않은 서버를 확인하고 해당 서버로 요청을 전달할 수 있습니다. 다른 서버의 상태를 확인한다는 관점에서 보면 로드 밸런싱과 내결함성 클러스터링은 그 수가 더 많다는 점을 제외하면 매우 가깝습니다. \x0d\ 3. 과학 컴퓨팅 클러스터(고성능 컴퓨팅 클러스터)\x0d\ 고성능 컴퓨팅(고성능 컴퓨팅) 클러스터, HPC 클러스터라고도 합니다. 이 유형의 클러스터는 단일 컴퓨터가 제공할 수 없는 강력한 컴퓨팅 기능을 제공하는 데 전념합니다. \x0d\ 3.1 고성능 컴퓨팅 분류 \x0d\ 3.1.1 고처리량 컴퓨팅 어떤 연결. SETI@HOME -- 집에서 외계 지능 검색은 이러한 유형의 애플리케이션입니다. 이 프로젝트는 외계인을 검색하기 위해 인터넷의 유휴 컴퓨팅 리소스를 사용합니다. SETI 프로젝트의 서버는 인터넷상의 SETI에 참여하는 컴퓨팅 노드에 일련의 데이터와 데이터 패턴을 전송합니다. 컴퓨팅 노드는 주어진 패턴을 사용하여 주어진 데이터를 검색한 후 검색 결과를 서버로 보냅니다. 서버는 다양한 컴퓨팅 노드에서 반환된 데이터를 완전한 데이터로 수집하는 역할을 담당합니다. 이러한 유형의 애플리케이션의 고유한 기능은 대량의 데이터에서 특정 패턴을 검색하는 것이므로 이러한 유형의 컴퓨팅을 고처리량 컴퓨팅이라고 합니다.
소위 인터넷 컴퓨팅이 이 범주에 속합니다. Flynn의 분류에 따르면, 고처리량 컴퓨팅은 SIMD(Single Instruction/Multiple Data) 범주에 속합니다. \x0d\ 3.1.2 분산 컴퓨팅\x0d\ 또 다른 유형의 계산은 처리량이 많은 컴퓨팅의 반대입니다. 여러 병렬 하위 작업으로 나눌 수 있지만 하위 작업은 밀접하게 연결되어 있으며 많은 양의 데이터 교환이 필요합니다. Flynn의 분류에 따르면 분산형 고성능 컴퓨팅은 MIMD(Multiple Instruction/Multiple Data) 범주에 속합니다. \x0d\ 4. 분산(클러스터)과 클러스터의 연결 및 차이점 \x0d\ 분산은 서로 다른 서비스를 서로 다른 위치에 분산시키는 것을 의미하며, 클러스터는 동일한 비즈니스를 실현하기 위해 여러 서버를 모으는 것을 의미합니다. \x0d\ 배포의 모든 노드를 클러스터링할 수 있습니다. 그리고 클러스터가 반드시 분산되는 것은 아닙니다. \x0d\ 예를 들어 Sina.com을 예로 들면, 방문하는 사람이 더 많으면 클러스터가 될 수 있으며, 응답 서버가 전면에 배치되고 비즈니스 액세스가 있으면 다음 서버가 완료됩니다. 응답 서버는 어떤 서버를 사용하는지에 따라 부하가 그리 크지 않습니다. \x0d\ 좁은 의미로 이해하면 분산은 클러스터와 비슷하지만 조직이 상대적으로 느슨합니다. 클러스터와 달리 조직 구조가 있어서 한 서버가 무너지면 다른 서버가 그 여유를 메울 수 있습니다. \x0d\ 각 분산 노드는 서로 다른 서비스를 완료합니다. 노드가 붕괴되면 서비스에 액세스할 수 없게 됩니다.