이 장에서는 서버 및 클라이언트 노드를 시작하는 방법에 대해 설명합니다.
노드에는 서버 노드 와 클라이언트 노드 의 두 가지 유형이 있습니다 . 클라이언트 노드는 씬 클라이언트 와 구별하기 위해 씩 클라이언트 라고도 합니다. 서버 노드는 캐싱, 컴퓨팅 실행, 스트림 처리 등에 참여합니다. 씩 클라이언트는 서버에 원격으로 연결할 수있는 기능을 제공합니다. 클라이언트 노드는 클라이언트 측에서 니어 캐싱, 트랜잭션, 컴퓨팅, 스트리밍, 서비스 등을 포함한 전체 Ignite API 집합을 제공합니다.
기본적으로 모든 Ignite 노드는 서버 노드로 시작되며 클라이언트 모드를 명시 적으로 활성화해야합니다.
서버 노드 시작
일반 서버 노드를 시작하려면 다음 명령 또는 코드 스 니펫을 사용하십시오.
껍질자바C # /. NETC ++
ignite.sh path/to/configuration.xml
클라이언트 노드 시작
클라이언트 노드를 시작하려면 노드 구성에서 클라이언트 모드를 활성화하기 만하면됩니다.
노드 종료
노드에서 하드 (강제) 종료를 수행하면 데이터 손실 또는 데이터 불일치가 발생할 수 있으며 노드가 다시 시작되지 않을 수도 있습니다. 비정상 종료는 노드가 응답하지 않고 정상적으로 종료 할 수없는 경우 최후의 수단으로 사용해야합니다.
정상 종료를 사용하면 노드가 중요한 작업을 완료하고 수명주기를 올바르게 완료 할 수 있습니다. 정상 종료를 수행하는 적절한 절차는 다음과 같습니다.
-
다음 방법 중 하나를 사용하여 노드를 중지하십시오.
-
프로그래밍 방식으로 호출 Ignite.close()
-
프로그래밍 방식으로 호출 System.exit()
-
사용자 인터럽트 신호를 보냅니다. Ignite는 JVM 종료 후크를 사용하여 JVM이 중지되기 전에 사용자 지정 논리를 실행합니다. 실행하여 노드를 시작하고 ignite.sh터미널에서 분리하지 않으면을 눌러 노드를 중지 할 수 있습니다 Ctrl+C.
-
-
기준 토폴로지 에서 노드를 제거합니다 . 기준선 자동 조정 이 활성화 된 경우이 단계가 필요하지 않을 수 있습니다 .
기준 토폴로지에서 노드를 제거하면 나머지 노드에서 재조정 프로세스가 시작됩니다. 종료 직후 노드를 다시 시작하려는 경우 재조정을 수행 할 필요가 없습니다. 이 경우 기준 토폴로지에서 노드를 제거하지 마십시오.
JVM 옵션 설정
ignite.sh스크립트 로 노드를 시작할 때 JVM 옵션을 설정할 수있는 몇 가지 방법이 있습니다 . 이러한 방법은 다음 섹션에서 설명합니다.
JVM_OPTS 시스템 변수
JVM_OPTS환경 변수를 설정할 수 있습니다 .
노드 수명주기 이벤트
수명주기 이벤트는 노드 수명주기의 여러 단계에서 사용자 지정 코드를 실행할 수있는 기회를 제공합니다.
4 가지 수명주기 이벤트가 있습니다.
이벤트 유형기술
BEFORE_NODE_START |
노드의 시작 루틴이 시작되기 전에 호출됩니다. |
AFTER_NODE_START |
노드가 시작된 직후에 호출됩니다. |
BEFORE_NODE_STOP |
노드의 중지 루틴이 시작되기 직전에 호출됩니다. |
AFTER_NODE_STOP |
노드가 중지 된 직후에 호출됩니다. |
다음 단계에서는 사용자 지정 수명주기 이벤트 리스너를 추가하는 방법을 설명합니다.
-
LifecycleBean인터페이스 를 구현하여 사용자 정의 라이프 사이클 Bean을 작성하십시오 . 인터페이스에는 onLifecycleEvent()모든 수명주기 이벤트에 대해 호출되는 메서드가 있습니다.