기존 JNDI HornetQ 서비스를 HA로 만들기 위한 단계?
TL;DR
HornetQ 설정으로 HA-JNDI 서비스를 구성하는 단계는 무엇입니까?서류가 좀 흐트러진 것 같아요.여기 있는 문서들은 다 읽었지만 자세히 설명하지는 못한 것 같아요.
긴 버전:
JNDI와 함께 HornetQ JMS 셋업이 있습니다.각각 JNDI 서비스를 사용하여 HornetQ JMS 프라이머리 인스턴스를 실행하는 서버가 5대 있습니다.이들 5대의 서버 각각에서는 다른 HornetQ 프라이머리 인스턴스용으로 세컨더리 인스턴스도 실행되고 있습니다.
설명:
Server A - HornetQa_primary, JNDI, HornetQb_secondary
Server B - HornetQb_primary, JNDI, HornetQc_secondary
Server C - HornetQc_primary, JNDI, HornetQd_secondary
Server D - HornetQd_primary, JNDI, HornetQe_secondary
Server E - HornetQe_primary, JNDI, HornetQa_secondary
이러한 HornetQ 서버는 각각 다양한 백엔드 요구에 대응하는 미들웨어 역할을 합니다.따라서 서버 5대, HornetQ 프라이머리 인스턴스 5대, HornetQ 세컨더리 인스턴스 5대, JNDI 서버 5대를 의미합니다.단, 이 셋업에서는 (프로세스뿐만 아니라 호스트 자체도) 서버 호스트가 다운된 경우 서비스가 A의 HornetQ 세컨더리를 호스트하는 서버E에서 실행되는 HornetQ로 폴백하는 것이 이상적입니다.단, HornetQ 프라이머리로서 재개하려면 HornetQa_secondary가 서버A에서 실행되고 있는 JNDI 프로세스와 통신할 필요가 있습니다(메시지를 복제할 것으로 생각됩니다).호스트 A 자체가 다운되어 있기 때문에 E에서 실행되는 HornetQa_secondary는 A의 JNDI와 통신할 방법이 없기 때문에 프라이머리 프로세스로 재개할 수 없습니다.
JNDI 서비스가 가용성이 높은 경우 2차 HornetQ 프로세스가 예상대로 재개될 수 있습니다.문서를 가리키거나 기존 설정을 HA-JNDI로 변환하는 방법을 간단한 절차로 설명할 수 있습니까?중요한 것은 여러 소스를 읽어봤지만 HA-JNDI를 구성하는 방법에 대해 자세히 설명하지 못한 것 같습니다. 현재 설정에 대해 더 자세한 정보가 필요하시면 알려 주십시오.
이 아키텍처에서는 실제로 슬레이브를 마스터로 재구성해야 하며, 그러면 특정 운영이 중단되기 때문에 어려울 것 같습니다.
HornetQ HA는 라이브 백업 쌍을 통해 제공되며 로드 밸런싱은 클러스터를 통해 제공됩니다.
HA와 로드밸런싱을 모두 필요로 하는 경우 2개의 라이브백업 페어가 클러스터화되어 있어야 합니다.
출처 : https://developer.jboss.org/thread/254232
호스트명이 아닌 가상 IP 주소를 사용하여 마스터를 참조할 수 있으므로 마스터가 다운되었을 때 슬레이브 중 하나를 마스터로 재설정하고 나머지 슬레이브를 재설정할 필요가 없도록 가상 IP를 시작할 수 있습니다.(마스터가 다운된 경우에도 HA를 유지하려면 슬레이브를 2개 보유해야 합니다.그러면 슬레이브 중 하나를 마스터로 재시작하여 1개를 계속 실행할 수 있습니다).
같은 결과를 얻을 수 있는 또 다른 방법은 마스터 고유의 DNS 호스트 이름을 사용하는 것입니다.이 DNS 호스트명은, 1 개의 호스트가 다운했을 경우에 다른 IP 를 가리키도록 재설정할 수 있습니다.DNS가 캐시되므로 이 엔트리는 'hosts' 파일에 있어야 합니다.
HA 도메인당 3대의 호스트가 너무 많은 경우 하드웨어를 추가 구입하지 않고도 가상 서버를 사용하여 이를 쉽게 실현할 수 있습니다.
언급URL : https://stackoverflow.com/questions/34596069/steps-to-make-an-existing-jndi-hornetq-service-as-ha
'programing' 카테고리의 다른 글
구성 요소를 로드하기 전에 VueX 값이 로드될 때까지 기다리십시오. (0) | 2022.07.06 |
---|---|
CMAKE - 정적 라이브러리의 헤더 파일을 /usr/include에 올바르게 복사하는 방법 (0) | 2022.07.06 |
vuetify2를 사용하여 모든 v-card의 높이를 동일하게 하는 방법 (0) | 2022.07.06 |
Vuetify 캘린더 날짜 형식을 변경하는 방법 (0) | 2022.07.06 |
Vue 및 Vuex v-상태 변경 시 제대로 업데이트되지 않음 (0) | 2022.07.06 |