2017-09-14 9 views
0

Apache Storm과 관련된 질문이 있습니다. 현재 우리는 폭풍을 구현하기 위해 일부 서버를 사용하고 있으며, 애플리케이션에는 페이스 북/트위터 토큰이 필요합니다.폭풍/볼트가 작동중인 서버를 확인하는 방법

그래서 우리는 다음과 같이 디자인하고 싶습니다 : 각 토큰은 특정 서버에 속합니다. 볼트가 튜플을 받으면 볼트 실행 인스턴스 용으로 특별히 토큰을 요청합니다. 이것은 다른 서버 인 경우 토큰 차단을 방지하기위한 것입니다. 짧은 시간에 같은 토큰을 사용하십시오.

누구나이 방법을 달성하는 방법을 알고 있습니다. 실행중인 볼트 인스턴스의 서버를 알 수있는 방법이 있습니까? 고마워.

답변

0

볼트 인스턴스 당 하나의 토큰을 원한다면 인스턴스 변수를 볼트 클래스에 추가하여 해당 토큰을 보유하고 볼트 수명주기의 적절한 시간에 해당 토큰을 초기화/정리하십시오.

각 기계에 토큰을 갖고 싶으면 전체 JVM에 대해 하나의 토큰을 보유 할 Singleton Bean을 작성할 수 있습니다. 단일 시스템에 둘 이상의 작업자가 있기를 원한다면 각 시스템 (시스템의 JVM 당 하나의 토큰)에 대해 여러 개의 토큰에 만족해야하거나 토큰을 소유하는 독립형 미들웨어 서버를 빌드해야합니다. 시스템의 여러 JVM에서 요청을 처리합니다. 허용되는 경우라도 단일 JVM/작업자의 모든 볼트 인스턴스를 해당 JVM의 토큰 하나를 공유하는 방법을 알아 내야합니다.