기존 JNDI HornetQ 서비스를 HA로 만드는 단계는 무엇입니까?
TL; DR
HornetQ 설정으로 HA-JNDI 서비스를 구성하는 단계는 무엇입니까? 문서가 약간 흩어져 있다고 생각합니다. 나는 여기 에서 문서를 읽었 지만 자세히 설명하지는 않습니다.
더 긴 버전 :
JNDI와 함께 HornetQ JMS 설정이 있습니다. 각 서버에서 JNDI 서비스를 사용하여 HornetQ JMS 마스터 인스턴스를 실행하는 5 대의 서버가 있습니다. 이 5 대의 서버 각각에는 다른 HornetQ 마스터를 위해 슬레이브가 실행됩니다.
설명하기 위해 :
Server A - HornetQa_master, JNDI, HornetQb_slave
Server B - HornetQb_master, JNDI, HornetQc_slave
Server C - HornetQc_master, JNDI, HornetQd_slave
Server D - HornetQd_master, JNDI, HornetQe_slave
Server E - HornetQe_master, JNDI, HornetQa_slave
이러한 HornetQ 서버 각각은 다양한 백엔드 요구에 대한 미들웨어 역할을하므로 서버 5 대, HornetQ 마스터 인스턴스 5 대, HornetQ 슬레이브 인스턴스 5 대 및 JNDI 서버 5 대를 의미합니다. 그러나이 설정의 문제점은 프로세스, 호스트 자체가 아닌 서버 호스트가 A가 다운되면 서비스가 A의 HornetQ 슬레이브를 호스트하는 서버 E에서 실행되는 HornetQ로 대체되는 것이 이상적입니다. 그러나 HornetQ 마스터로 재개하려면 HornetQa_slave가 서버 A에서 실행중인 JNDI 프로세스와 통신해야합니다 (메시지를 복제한다고 가정). 호스트 A 자체가 다운되었으므로 E에서 실행중인 HornetQa_slave는 A의 JNDI와 통신 할 방법이 없으므로 마스터 프로세스로 재개 할 수 없습니다.
JNDI 서비스의 가용성이 높으면 슬레이브 HornetQ 프로세스가 예상대로 마스터로 재개 될 수 있습니다. 누구나 기존 문서를 HA-JNDI로 변환하는 방법에 대해 문서를 가리 키거나 간단한 단계로 설명 할 수 있습니까? 그 가치에 대해서는 여러 소스를 읽었 지만 HA-JNDI 구성을 시작하는 방법에 대해서는 자세히 설명하지 않는 것 같습니다. 현재 설정에 대한 자세한 정보가 필요하면 알려주십시오.
설명 된 아키텍처를 사용하면 실제로 슬레이브를 마스터로 재구성해야하며 특정 중단이 발생하기 때문에 어려운 것으로 보입니다.
HornetQ HA는 라이브 백업 페어를 통해 제공되며로드 밸런싱은 클러스터를 통해 제공됩니다.
HA와로드 밸런싱을 모두 원한다면 함께 클러스터 된 2 개의 라이브 백업 쌍이 필요합니다.
호스트 이름이 아닌 가상 IP 주소를 사용하여 마스터를 참조 할 수 있으므로 마스터가 다운 된 경우 슬레이브 중 하나를 마스터로 다시 구성하고 가상 IP를 시작하여 나머지를 다시 구성 할 필요가 없습니다. 노예의. (마스터가 다운 된 경우에도 HA를 유지하려면 슬레이브 2 개가 필요하므로 슬레이브 중 하나를 마스터로 다시 시작할 수 있으며 여전히 하나가 실행됩니다).
동일한 결과를 얻는 또 다른 방법은 한 호스트가 다운 된 경우 다른 IP를 가리 키도록 재구성 할 수있는 마스터 전용 DNS 호스트 이름을 사용하는 것입니다. DNS는 캐시되므로이 항목은 '호스트'파일에 있어야합니다.
HA 도메인 당 3 개의 호스트가 너무 많은 하드웨어 인 경우 더 많은 하드웨어를 구입할 필요없이 가상 서버를 사용하여이 작업을보다 쉽게 수행 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/34596069/steps-to-make-an-existing-jndi-hornetq-service-as-ha
'Programing' 카테고리의 다른 글
당신이 경험 한 최악의 실제 매크로 / 전 처리기 남용은 무엇입니까? (0) | 2020.05.21 |
---|---|
Premiere Pro의 ExtendScript 연결을 사용하여 가져온 파일을 시퀀스에 추가 (0) | 2020.05.21 |
Delphi XE 사용자 정의 빌드 대상은 항상 비활성화되어 있습니다 (0) | 2020.05.21 |
JavaScript에 대한 코딩 표준이 있습니까? (0) | 2020.05.21 |
프래그먼트를 사용할 때 Android Navigation Drawer 이미지와 Up caret 간 전환 (0) | 2020.05.21 |