06연결 동기화(State Synchronization)연결 동기화(State Synchronization)
방화벽이 죽으면 오가던 활성 연결이 즉시 끊깁 니다. 금융 거래처럼 중요한 연결이라면 큰일이죠. ClusterXL은 각 멤버가 다른 멤버를 지나는 연결을 알게 해 장애 시에도 데이터를 잃지 않 게 합니다 — 이것이 State Synchronization(상태 동기화) 입니다.
게이트웨이가 인식하는 모든 IP 기반 서비스(TCP·UDP 포함)가 동기화 됩니다. Load Sharing 멤버는 반드시 동기화 되어야 하고, HA 멤버는 동기화가 필수는 아니지만, 안 하면 페일오버 때 연결이 끊깁 니다.
동기화 네트워크
Synchronization Network 는 연결·상태 정보를 멤버 사이에 주고받는 통로 입니다. 조직에서 가장 민감한 정보가 흐르므로 보호가 중요 합니다. 권장 방법은 세 가지입니다 — CCP 암호화 켜기(기본값), 전용 동기화 네트워크 쓰기, 멤버의 물리 인터페이스를 크로스 케이블로 직결(3대 이상이면 전용 허브·스위치).
동기화의 두 가지 모드
State Synchronization은 두 모드 로 동작합니다.
Full Sync 는 한 멤버에서 다른 멤버로 모든 커널 테이블 정보를 옮깁 니다. 멤버가 클러스터에 새로 합류하거나 down 후 다시 올라올 때 처음 한 번 수행합니다. cxld 데몬이 동료의 TCP 263 포트 에 연결하며(실패하면 옛 방식인 fwd 데몬의 TCP 256으로 폴백), Full Sync가 끝나면 더 빠른 Delta Sync로 넘어갑니다.
Delta Sync 는 커널 테이블의 변경분만 옮깁 니다. 모든 멤버가 Full Sync를 마친 뒤 연결 상태 변화를 주고받 는 데 쓰이며, 게이트웨이 커널이 UDP 8116 포트 로 처리합니다. State Synchronization 트래픽은 전체 CCP 트래픽의 약 90% 를 차지하며, 멤버들은 UDP 헤더의 opcode로 동기화 패킷을 나머지 CCP와 구분합니다.
짧은 연결은 지연 동기화
모든 연결을 동기화할 필요는 없습니다. HTTP처럼 아주 짧게 끝나는 연결 은 동기화해 봐야 멤버 자원만 쓰고 페일오버 전에 이미 끝날 가능성이 높습니다. 그래서 Delayed Notifications 기능으로, 연결이 시작된 지 X초 뒤에도 살아 있을 때만 동기화 하도록 알림을 미룹니다(SecureXL이 모든 멤버에 켜져 있어야 함 — 기본값). 설정은 SmartConsole의 Object Explorer에서 해당 서비스 객체에 지정합니다.
정리하면, State Synchronization이 ClusterXL의 "끊김 없음"을 떠받치는 토대 이며, 처음엔 Full Sync로 전체를, 이후엔 Delta Sync로 변경분만, 짧은 연결은 지연 동기화로 효율을 챙깁니다.