자바 RocketMQ 빠 른 입문 기초 지식
1.rocketmq-client 도입
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.1.0-incubating</version>
</dependency>
2.프로듀서 작성
DefaultMQProducer producer = new DefaultMQProducer("producer_demo");
// NameServer
producer.setNamesrvAddr("192.168.116.115:9876;192.168.116.116:9876"); //
/**
* Producer start ,
* : , start
*/
producer.start();
for (int i = 0; i < 997892; i++) {
try {
//
Message msg = new Message("TopicTest" /* Topic */,
"TagA" /* Tag */,
(" RocketMQ" + i).getBytes(RemotingHelper.DEFAULT_CHARSET)
);
//
SendResult sendResult = producer.send(msg);
System.out.printf("%s%n", sendResult);
} catch (Exception e) {
e.printStackTrace();
Thread.sleep(1000);
}
}
producer.shutdown();
3.소비자 작성
/**
* Consumer Group, ,
*/
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumer_demo");
// NameServer , ;
consumer.setNamesrvAddr("192.168.116.115:9876;192.168.116.116:9876"); //
/**
* Consumer
* ,
*/
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
consumer.subscribe("TopicTest", "*");
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
ConsumeConcurrentlyContext context) {
try {
for(MessageExt msg:msgs){
String msgbody = new String(msg.getBody(), "utf-8");
System.out.println(" MessageBody: "+ msgbody);//
}
} catch (Exception e) {
e.printStackTrace();
return ConsumeConcurrentlyStatus.RECONSUME_LATER; //
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; //
}
});
consumer.start();
System.out.printf("Consumer Started.%n");
설명여러분 은 자신의 환경 에 따라 NamesrvAddr 의 값 을 수정 합 니 다.제 클 러 스 터 는 RocketMQ 클 러 스 터 배치 설정 을 참고 하 십시오.잠시 후 RocketMQ 관제 대 를 통 해 이전에 구축 한 멀 티 마스터 다 슬 레이 브 모드 를 볼 수 있 고,비동기 복제 클 러 스 터 모드 를 볼 수 있다.
5.RocketMQ 관리 대 를 통 해
rocketmq-console-ng 획득 방식 은:rocketmq-console-ng 이 며,이후 mavne 을 통 해 컴 파일 하여 jar 를 가 져 옵 니 다.명령 은 다음 과 같 습 니 다.
mvn clean package -Dmaven.test.skip=true
java -jar target/rocketmq-console-ng-1.0.0.jar
rocketmq-console-ng-1.0.0.jar 를 받 은 후 rocketmq-console-ng-1.0.0.jar\BOOT-INF\classes\application.properties 파일 을 찾 아 자신의 NamesrvAddr 에 따라 rocketmq.config.namesrvAddr 값 을 수정 합 니 다.직접 시작:
java -jar rocketmq-console-ng-1.0.0.jar
관제 대 는 spring boot 를 바탕 으로 하 는 것 으로 spring boot 가 매우 편리 하고 핫 하기 때문에 spring boot 를 배 울 필요 가 있 습 니 다.(사실은 spring 시리즈 이기 때문에 spring 도 깊이 공부 해 야 합 니 다)잠시 후에 관제 대 를 통 해 운행 을 관찰 할 필요 가 있 습 니 다.
6.운행 관찰
좋 은 습관 은 먼저 Consumer 를 실행 한 다음 에 Producer 를 실행 한 다음 에 rocketmq-console-ng 컨트롤 러 를 통 해 관찰 하 는 것 이다.
실행 이 끝 난 후에 확실히 broker-a 의 데이터 에 broker-b 의 데 이 터 량 을 더 하면 우리 가 보 낸 데 이 터 량 과 같 고 slave 의 수량 도 master 의 수량 도 일치 합 니 다.효 과 는 다음 과 같 습 니 다.
이 데 이 터 를 보 내 는 것 을 보십시오.두 대의 기계 의 디스크 상황 은 다음 과 같 습 니 다.
현재 위치 로 는 로켓 MQ 의 빠 른 입문 이 끝났다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.