ActiveMQ 노트 (2): ZooKeeper 기반 HA 프로젝트
이 컴퓨터 에 zookeeper 기반 activemq 클 러 스 터 를 만 드 는 방법 을 보 여 줍 니 다.
1. 디 렉 터 리 activemq 1 에 activemq 를 설치 한 다음 conf / activemq. xml 를 수정 합 니 다.
1 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
2 ...
3 <persistenceAdapter>
4 <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
5 <replicatedLevelDB
6 directory="activemq-data"
7 replicas="3"
8 bind="tcp://0.0.0.0:0"
9 zkAddress="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
10 zkSessionTimeout="2s"
11 zkPath="/activemq/leveldb-stores"
12 />
13 </persistenceAdapter>
14 ...
15 </broker>
주: zk 의 HA 를 확보 하기 위해 서 본 기 계 는 적어도 3 개의 zk 노드 가 있어 야 합 니 다. 제 가 예전 의 글 을 참고 하여 구축 할 수 있 습 니 다.
2. activemq1 을 2 분 복사 하여 activemq2, activemq3 로 바 꿉 니 다. 이 컴퓨터 테스트 이기 때문에 포트 충돌 을 방지 하기 위해 이 두 디 렉 터 리 의 activemq. xml 는 포트 를 수정 해 야 합 니 다.
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp"
uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp"
uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt"
uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws"
uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
위의 이 몇 개의 포트 는 모두 상황 을 보고 조정 합 니 다. 3 개의 activemq 가 충돌 하지 않도록 보증 하면 됩 니 다.
3. zk1, zk2, zk3, 그리고 activemq1, activemq2, activemq3 를 시작 하면 됩 니 다.
주: 출력 을 편리 하 게 관찰 하기 위해 activemq 를 시작 할 때. / activemq. sh console 로 시작 하 는 것 을 권장 합 니 다.
4. 테스트 실패
정상적으로 시작 한 후에 수 동 으로 master 를 멈 추고 나머지 2 개의 노드 단말기 출력 을 관찰 합 니 다. 정상 적 인 상황 에서 잠시 후에 하 나 는 자동 으로 master 로 올 라 갑 니 다.
마지막 으로 상기 HA 방안 을 사용 한 후에 시스템 의 가용성 이 향상 되 었 지만 본 컴퓨터 에서 테스트 한 결과 전편 과 같은 테스트 코드 와 사례 를 발견 했다. 단일 노드 가 실 행 될 때 1 초 에 8k + 개의 메 시 지 를 보 낼 수 있 고 zookeeper 의 HA 방안 을 사용 한 후에 1 초 에 500 개의 메 시 지 를 기록 할 수 있 으 며 성능 에 대한 요구 가 높 은 장면 에 대해 다른 방안 을 사용 하 는 것 을 권장 한다.예 를 들 어 다음 편 에서 소개 할 Networks of brokers 기반 HA 방안 이다.
참고 글:
http://activemq.apache.org/replicated-leveldb-store.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.