JDBC_PING을 사용하여 클러스터 노드를 검색하는 방법

2024. 2. 23. 20:00프로그래밍

728x90

https://www.mastertheboss.com/jbossas/jboss-cluster/how-to-use-jdbc_ping-to-discover-cluster-nodes/

 

How to use JDBC_PING to discover cluster nodes - Mastertheboss

This article is a quick walkthough the JDBC_PING JGroups protocol which you can use for initial discovery of cluster nodes in WildFly application server.

www.mastertheboss.com


이 글은 WildFly 애플리케이션 서버에서 클러스터 노드의 초기 검색에 사용할 수 있는 JDBC_PING JGroups 프로토콜에 대한 간단한 안내서라고 보시면 됩니다.

JDBC Ping 개요

이 검색 프로토콜은 공유 데이터베이스에 대한 JDBC 연결을 사용합니다. 구성 속성 또는 DataSource의 JNDI 이름으로 연결 옵션을 정의할 수 있습니다.
기본적으로, 추가 매개변수 없이 프로토콜을 사용할 때 다음의 DDL이 실행됩니다:

CREATE TABLE JGROUPSPING  
own_addr varchar(200) NOT NULL,  
cluster_name varchar(200) NOT NULL,  
ping_data varbinary(5000) DEFAULT NULL,  
PRIMARY KEY (own_addr, cluster_name)


하지만 스키마와 사용되는 SQL 문 모두를 사용자 재 정의할 수 있습니다. 권장되는 스키마는 두 개의 문자열 열을 기본 키(primary key)로 사용하는 하나의 테이블을 사용하며(로컬 주소, 클러스터 이름), JGroups에서 필요로 하는 객체들의 직렬화된 형태를 저장하기 위한 세 번째 열을 포함하게 됩니다.
기본 테이블은 최초 연결 시 생성됩니다.

프로토콜 구성

기본 DataSource를 사용하여 JDBC Ping을 구성하려면 TCP 연결의 MPING 소켓 프로토콜을 JDBC_PING으로 교체해 주어야 합니다.

<stack name="tcp">
    <transport type="TCP" socket-binding="jgroups-tcp"/>
    <!-- <socket-protocol type="MPING" socket-binding="jgroups-mping"/> -->
    <jdbc-protocol type="JDBC_PING" data-source="ExampleDS"/>
    <protocol type="MERGE3"/>
    <socket-protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
    <protocol type="FD_ALL"/>
    <protocol type="VERIFY_SUSPECT"/>
    <protocol type="pbcast.NAKACK2"/>
    <protocol type="UNICAST3"/>
    <protocol type="pbcast.STABLE"/>
    <protocol type="pbcast.GMS"/>
    <protocol type="UFC"/>
    <protocol type="MFC"/>
    <protocol type="FRAG3"/>
</stack>


그런 다음, 클러스터 채널에 대한 기본 스택으로 TCP를 설정하십시오.

<subsystem xmlns="urn:jboss:domain:jgroups:9.0">
     <channels default="ee">
         <channel name="ee" stack="tcp" cluster="ejb"/>
     </channels>

   
연결 속성

프로토콜에 적용할 수 있는 사용 가능한 속성은 소스 클래스에서 확인할 수 있습니다: 

https://github.com/belaban/JGroups/blob/master/src/org/jgroups/protocols/JDBC_PING.java

 

How to use JDBC_PING to discover cluster nodes - Mastertheboss

This article is a quick walkthough the JDBC_PING JGroups protocol which you can use for initial discovery of cluster nodes in WildFly application server.

www.mastertheboss.com


다음 테이블은 사용 가능한 속성들을 요약 했습니다:

 

 

 

728x90