다중 마스터 머신 그룹의 토폴로지

다중 마스터 머신 그룹을 통합하는 배치에 대해 토폴로지를 선택할 때 여러 개의 다른 옵션이 선택할 수 있습니다.

머신 그룹 연결 링크

복제 데이터 그리드 인프라는 양방향 링크를 포함하는 머신 그룹의 연결 그래프입니다. 링크를 사용하여 두 개의 머신 그룹은 데이터 변경사항을 통신할 수 있습니다. 예를 들어, 단순 링크가 포함된 머신 그룹 쌍이 가장 단순한 토폴로지입니다. 머신 그룹은 왼쪽부터 A, B, C...와 같이 영문자순으로 이름이 지정됩니다. 링크는 긴 거리에 걸쳐 광역 네트워크(WAN)을 통해 연결됩니다. 링크가 인터럽트되더라도 둘 중 하나의 머신 그룹을 통해 계속 데이터를 변경할 수 있습니다. 토폴로지는 링크가 머신 그룹에 연결될 때 변경사항을 조정합니다. 네트워크 연결이 인터럽트되면 링크는 자동으로 다시 연결을 시도합니다.

링크

링크를 설정한 후에 제품은 우선 모든 머신 그룹을 동등하게 만들기 위해 시도합니다. 그런 다음 eXtreme Scale은 임의의 머신 그룹에서 변경사항이 발생할 때 동등한 조건을 유지하려고 합니다. 이는 머신 그룹이 링크로 연결된 서로 다른 모든 머신 그룹과 정확하게 미러링될 수 있도록 하기 위해서입니다. 머신 그룹 사이의 복제 링크를 사용하면 임의의 머신 그룹의 모든 변경사항을 다른 머신 그룹에 복사됩니다.

라인 토폴로지

라인 토폴로지는 매우 단순한 배치이지만 이는 링크에 대한 몇 개의 중요한 부분을 수행합니다. 우선 변경사항을 수신하기 위해 머신 그룹을 다른 모든 머신 그룹에 직접 연결하지 않아도 됩니다. 머신 그룹 B는 머신 그룹 A의 변경사항을 가져옵니다. 머신 그룹 C는 머신 그룹 A와 C를 연결하는 머신 그룹 B를 통해 머신 그룹 A의 변경사항을 수신합니다. 이와 유사하게 머신 그룹 D는 머신 그룹 C를 통해 다른 머신 그룹의 변경사항을 수신합니다. 이 기능을 사용하여 변경사항의 소스에서 변경사항 분배를 위한 로드를 분산시킬 수 있습니다.

라인 토폴로지

머신 그룹 C가 실패하면 다음과 같은 조치가 수행됩니다.
  1. 머신 그룹 D는 머신 그룹 C가 다시 시작될 때까지 고아로 유지됩니다.
  2. 머신 그룹 C는 머신 그룹 A의 사본인 머신 그룹 B와 자체를 동기화합니다.
  3. 머신 그룹 D는 머신 그룹 C를 사용하여 머신 그룹 A와 B의 변경사항이 포함되도록 자체를 동기화합니다. 이 변경사항은 머신 그룹 C가 중지되어 머신 그룹 D가 고아로 유지된 상태에 발생된 것입니다.
결국, 머신 그룹 A, B, C, D는 모두 서로 다시 동등하게 됩니다.

링 토폴로지

링 토폴로지는 좀 더 복원력이 있는 토폴로지의 예제입니다. 머신 그룹 또는 단일 링크가 실패하면 계속 활성 상태인 머신 그룹은 여전히 변경사항을 가져올 수 있습니다. 머신 그룹은 실패 지점을 벗어나 링 상태로 순회합니다. 링 토폴로지의 크기에 상관 없이 각 머신 그룹은 다른 머신 그룹에 대해 최대 2개의 링크를 포함합니다. 변경사항 전파로 인해 오래 지연될 수 있습니다. 특정 머신 그룹의 변경사항은 모든 머신 그룹이 변경사항을 포함하기 전까지 여러 링크를 순회해야 할 수도 있습니다. 라인 토폴로지에도 동일한 특성이 있습니다.

링 토폴로지

링 중심에서 루트 머신 그룹에 더 복잡한 링 토폴로지를 배치할 수도 있습니다. 루트 머신 그룹은 조정의 중심점으로 사용됩니다. 다른 머신 그룹은 루트 머신 그룹에 발생하는 변경사항에 대한 원격 조정 위치로 사용됩니다. 루트 머신 그룹머신 그룹 사이의 변경사항을 중재할 수 있습니다. 링 토폴로지가 루트 머신 그룹를 중심으로 둘 이상의 링을 포함하는 경우 머신 그룹은 가장 안쪽의 링에서만 변경사항을 중재할 수 있습니다. 그렇지만 중재의 결과가 다른 링의 머신 그룹을 통해 전달됩니다.

허브 및 스포크 토폴로지

허브 및 스포크 토폴로지를 사용하면 변경사항은 허브 머신 그룹을 통해 순회합니다. 허브가 지정된 유일한 중간 머신 그룹이기 때문에 허브 및 스포크 토폴로지의 지연성은 낮습니다. 허브 머신 그룹은 링크를 통해 모든 연결된 머신 그룹에 연결됩니다. 허브는 변경사항을 머신 그룹 사이에서 분배합니다. 허브는 충돌의 조정 위치로 사용됩니다. 업데이트가 빈번한 환경에서 허브는 동기화를 유지하기 위해 스포크보다 더 좋은 하드웨어에서 실행되어야 할 수도 있습니다. WebSphere® DataPower® XC10 Appliance는 필요에 따라 허브를 손쉽게 확장할 수 있도록 연속 확장 가능하게 디자인되었습니다. 그렇지만 허브가 실패하면 허브를 다시 시작하기 전까지 변경사항이 분배되지 않습니다. 스포크 머신 그룹의 모든 변경사항은 허브가 다시 연결된 후에 분배됩니다.

허브 및 스포크 토폴로지

허브로 실행 중인 서버 쌍을 사용하는 완벽하게 복제된 클라이언트, 토폴로지 변수가 포함된 전략을 사용할 수도 있습니다. 모든 클라이언트는 클라이언트 JVM에 자체 포함된 단일 컨테이너 데이터 그리드를 카탈로그로 작성합니다. 클라이언트는 해당 데이터 그리드를 사용하여 허브 카탈로그에 연결합니다. 이 연결을 사용하면 클라이언트는 허브에 연결되는 즉시 허브와 동기화됩니다.

클라이언트의 모든 변경사항은 클라이언트에게 로컬이며 허브에는 비동기로 복제됩니다. 허브는 변경사항을 연결된 모든 클라이언트에 분배하는 중재 머신 그룹으로 사용됩니다. 완벽하게 복제된 클라이언트 토폴로지는 OpenJPA와 같이 오브젝트 관계형 맵퍼에 대해 신뢰 가능한 L2 캐시를 제공합니다. 변경사항은 허브를 통해 클라이언트 JVM 사이에서 빠르게 분배됩니다. 캐시 크기가 사용 가능한 힙 공간에 포함 가능한 경우 토폴로지는 이 스타일의 L2에 대해 신뢰 가능한 아키텍처입니다.

필요한 경우 다중 파티션을 사용하여 다중 JVM에서 허브 머신 그룹의 크기를 조정하십시오. 모든 데이터는 여전히 한 개의 클라이언트 JVM 안에 포함되어야 하기 때문에 다중 파티션으로 허브 용량을 늘려서 변경사항을 분배하고 중재합니다. 그렇지만 다중 파티션으로 단일 머신 그룹의 용량이 변경되지는 않습니다.

트리 토폴로지

비순환 직접 트리를 사용할 수도 있습니다. 비순환 트리에는 순환이나 루프가 없으며 직접 설정으로 링크는 상위와 하위 사이에만 존재하게 됩니다. 이 구성은 다수의 머신 그룹이 있는 토폴로지에 유용합니다. 이 토폴로지에서 가능한 모든 스포크에 연결된 중앙 허브를 사용하는 것은 적합하지 않습니다. 이 유형의 토폴로지는 루트 머신 그룹을 업데이트하지 않고 하위 머신 그룹을 추가해야 할 때 유용합니다.

트리 토폴로지

트리 토폴로지도 역시 조정을 위한 중앙 위치에 루트 머신 그룹를 가질 수 있습니다. 두 번째 레벨은 밑의 머신 그룹에서 발생하는 변경사항 조정을 위한 원격 지점으로 여전히 작동 가능합니다. 루트 머신 그룹은 두 번째 레벨에서만 머신 그룹 사이의 변경사항을 중재할 수 있습니다. 각 레벨에 N 하위를 포함하는 N항 트리를 사용할 수도 있습니다. 각 머신 그룹n 링크에서 연결됩니다.

완전히 복제된 클라이언트

이 토폴로지 변형은 허브로 실행 중인 서버 쌍에 연관됩니다. 모든 클라이언트는 클라이언트 JVM에 자체 포함된 단일 컨테이너 데이터 그리드를 카탈로그로 작성합니다. 클라이언트는 자체 데이터 그리드를 사용하여 허브 카탈로그에 연결하고 클라이언트는 허브에 연결되는 즉시 허브와 동기화됩니다.

클라이언트의 모든 변경사항은 클라이언트에게 로컬이며 허브에는 비동기로 복제됩니다. 허브는 변경사항을 연결된 모든 클라이언트에 분배하는 중재 머신 그룹으로 사용됩니다. 완벽하게 복제된 클라이언트 토폴로지는 OpenJPA와 같이 오브젝트 관계형 맵퍼에 대해 훌륭한 L2 캐시를 제공합니다. 변경사항은 허브를 통해 클라이언트 JVM 사이에서 빠르게 분배됩니다. 캐시 크기가 클라이언트의 사용 가능한 힙 공간에 포함 가능한 경우 이 토폴로지는 이 스타일의 L2에 대해에 대해 적합합니다.

필요한 경우 다중 파티션을 사용하여 다중 JVM에서 허브 머신 그룹의 크기를 조정하십시오. 모든 데이터는 여전히 한 개의 클라이언트 JVM 안에 포함되어야 하기 때문에 다중 파티션으로 허브 용량을 늘려서 변경사항을 분배하고 중재할 수는 있지만 이로 인해 단일 머신 그룹의 용량이 변경되지는 않습니다.