일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- enablekafkastreams
- Kafka
- Elk
- play framework
- kafka streams
- RabbitMQ
- kafkastream
- spring-cloud-stream
- aws
- statestore
- coursera
- 카프카
- confluent
- spring-batch
- scala
- 플레이 프레임워크
- avo
- reactive
- kafkastreams
- Logstash
- scala 2.10
- Spring
- springboot
- spring-kafka
- Elasticsearch
- Slick
- schema registry
- gradle
- kafka interactive query
- 한빛미디어
- Today
- Total
목록RabbitMQ (3)
b
클러스터 : Node 2개로 클러스터 구성하였다. 실험) Queue는 dev01에 존재하지만 'dev02' 노드로 접속해서 데이터를 발행했다. 설명) Queue 자체는 dev01 서버에 존재하였지만 spring.rabbitmq.address 는 dev02로 선언하였다. (처음에 메타정보를 가져와서 dev01이랑만 연결되지 않을까? 라는 예측을 했었지만 틀렸다) 위의 netstat 결과를 보면 확인 할 수 있지만 Publisher는 Queue가 없는 dev02로 접속하여서 데이터를 발행하였다. 즉, Queue가 존재하는 Node에 연결을 반드시 하지는 않는다. 클러스태 내부끼리 통신을 하여 데이터를 주고 받는 거였다. (Kafka는 해당 TopicPartition이 존재하는 Broker들과 전부 Conne..
결론부터 얘기하면, 아직은 못쓰겠다. 정확히 말하면 쉽게 사용 가능하지만, 이걸 메인 모니터링으로 사용하기에는 메트릭 종류가 너무 적다 RabbitMQ는 다양한 플러그인을 가지고 있고, 위의 화면처럼 기본적인 모니터링 화면도 제공하고 있다. 하지만 매번, 해당 UI 에 접근한다는 점이 불편했고, 메트릭 수치가 현재것만 볼 수 있다는 점, 그리고 alert/watch 기능을 제공하지 않는 점이 불편해서 다른 모니터링이 필요하였다. (지금에서야 고민하는 이유는... 이 시스템이 담당자가 없고, 모니터링이 없었다. 그래서 오늘 해야겟다고 마음 먹었다) 팀내에서 사용하고 있는 모니터링은 메인 스트림은 Promethus + Grafna / ELK 이다. 이중에서 간편하고 전체 플랫폼을 내가 직접 관리하고 있는 E..
데이터의 준비 분간하기 쉬운 데이터 10개를 큐에 준비한다 ex) data1 ~ data10 @Bean public ApplicationRunner runner(AmqpTemplate template) { return args -> IntStream.rangeClosed(1, 10).forEach(c -> template.convertAndSend("myqueue", "data => " + c)); } delivery-tag 의 출력 어떤식으로 delivery-tag 값이 할당되는지 확인한다. @RabbitListener(queues = "myqueue") public void listen(Message in, Channel channel) throws InterruptedException, IOExce..