30장. 고가용성
고가용성은 하나 이상의 서버가 실패한 후에도 시스템이 계속 작동하도록 하는 기능입니다.
고가용성의 일부는 클라이언트 애플리케이션이 계속 작동하도록 서버 장애 발생 시 클라이언트 연결이 한 서버에서 다른 서버로 마이그레이션할 수 있는 페일오버입니다.
영구 메시지 데이터만 장애 조치(failover) 후에도 유지됩니다. 영구적이지 않은 메시지 데이터는 페일오버 후 사용할 수 없습니다.
30.1. 라이브 / 백업 쌍 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 7 메시징을 사용하면 각 라이브 서버에 백업이 있는 백업 쌍으로 서버를 라이브로 연결할 수 있습니다. 라이브 서버는 클라이언트로부터 메시지를 수신하지만, 페일오버가 발생할 때까지 백업 서버가 작동하지 않습니다. 백업 서버는 하나의 라이브 서버에서만 소유할 수 있으며 패시브 모드로 유지되므로 라이브 서버의 작업을 계속할 수 있습니다.
라이브 서버와 백업 서버 사이에는 일대일 관계가 있습니다. 라이브 서버에는 하나의 백업 서버만 있을 수 있으며 하나의 라이브 서버에서만 백업 서버를 소유할 수 있습니다.
실시간 서버가 충돌하거나 올바른 모드로 꺼지면 현재 패시브 모드에 있는 백업 서버가 새로운 라이브 서버가 됩니다. 새 라이브 서버가 자동 장애 복구를 허용하도록 구성된 경우 이전 라이브 서버가 백업되고 자동으로 중지되어 이전 라이브 서버에서 메시지를 다시 수신할 수 있습니다.
한 쌍의 라이브/백업 서버만 배포하는 경우 백업 인스턴스가 메시지를 적극적으로 처리하지 않으므로 쌍 앞에 있는 로드 밸런서를 효과적으로 사용할 수 없습니다. 또한 JNDI 및 Undertow 웹 서버와 같은 서비스는 백업 서버에서 활성화되지 않습니다. 이러한 이유로 백업 메시징 서버로 사용되는 JBoss EAP 인스턴스에 JEE 애플리케이션을 배포하는 것은 지원되지 않습니다.
30.1.1. 저널 동기화 링크 복사링크가 클립보드에 복사되었습니다!
HA를 복제 저널로 구성하면 백업이 라이브 서버와 동기화될 때까지 시간이 걸립니다.
동기화가 완료되었는지 확인하려면 CLI에서 다음 명령을 제출합니다.
/subsystem=messaging-activemq/server=default/ha-policy=replication-master:read-attribute(name=synchronized-with-backup)
/subsystem=messaging-activemq/server=default/ha-policy=replication-master:read-attribute(name=synchronized-with-backup)
결과가 true
이면 동기화가 완료됩니다.
라이브 서버를 종료하는 것이 안전한지 확인하려면 CLI에서 다음 명령을 제출합니다.
/subsystem=messaging-activemq/server=default/ha-policy=replication-slave:read-attribute(name=synchronized-with-live)
/subsystem=messaging-activemq/server=default/ha-policy=replication-slave:read-attribute(name=synchronized-with-live)
결과가 true
이면 라이브 서버를 종료하는 것이 안전합니다.