분류 전체보기
-
Spring-Kafka를 이용하여 Consumer를 구현하게 되면, 보통 @KafkaListener를 많이 사용한다. @KafkaListener( topics = "testTopic1", groupId = "test-consumer-group1", concurrency = "1" ) public void test(Message message) { //... } @KafkaListener의 설정 중에 concurrency라는 설정을 알아보자. 해당 설정은 consumer의 thread 개수를 지정하는 값이다. 그렇다면, 하나의 consumer에서 동시에 여러 message를 처리할 수 있도록 thread를 늘리면 좋을 것이라는 생각이 드는데, thread 개수를 늘린다고 무조건 처리량이 좋아지는 것은 아니..
[Kafka] Spring Kafka Listener Concurrency 설정Spring-Kafka를 이용하여 Consumer를 구현하게 되면, 보통 @KafkaListener를 많이 사용한다. @KafkaListener( topics = "testTopic1", groupId = "test-consumer-group1", concurrency = "1" ) public void test(Message message) { //... } @KafkaListener의 설정 중에 concurrency라는 설정을 알아보자. 해당 설정은 consumer의 thread 개수를 지정하는 값이다. 그렇다면, 하나의 consumer에서 동시에 여러 message를 처리할 수 있도록 thread를 늘리면 좋을 것이라는 생각이 드는데, thread 개수를 늘린다고 무조건 처리량이 좋아지는 것은 아니..
2024.02.28 -
MSA 환경을 구성하게 되면, 각각의 서비스들의 상태들을 모니터링하는 것이 기존 형식보다는 까다로워진다. 모놀리식인 경우에는 하나의 application으로 구성되어 있어 해당 application의 상태 정보만 잘 모니터링하면 되었지만 각각의 모듈이 나누어진 MSA 환경에서는 모니터링할 target들이 더 많아진다. MSA 환경에서의 모니터링은 Prometheus, Grafana를 통해 이루어질 수 있다. prometheus 메트릭(metric)이라는 데이터 모델을 기반으로 하는 monitoring, alert 툴 Grafana : 메트릭 정보를 시각화해 주는 툴 위의 그림을 기준으로 보면 prometheus를 통해 spring-boot-application의 모니터링 데이터를 수집 grafana에서 ..
[MSA] Prometheus Grafana 구성 및 특징MSA 환경을 구성하게 되면, 각각의 서비스들의 상태들을 모니터링하는 것이 기존 형식보다는 까다로워진다. 모놀리식인 경우에는 하나의 application으로 구성되어 있어 해당 application의 상태 정보만 잘 모니터링하면 되었지만 각각의 모듈이 나누어진 MSA 환경에서는 모니터링할 target들이 더 많아진다. MSA 환경에서의 모니터링은 Prometheus, Grafana를 통해 이루어질 수 있다. prometheus 메트릭(metric)이라는 데이터 모델을 기반으로 하는 monitoring, alert 툴 Grafana : 메트릭 정보를 시각화해 주는 툴 위의 그림을 기준으로 보면 prometheus를 통해 spring-boot-application의 모니터링 데이터를 수집 grafana에서 ..
2024.02.23 -
grafana docker image https://hub.docker.com/r/grafana/grafana grafana docker compose restart : https://kkang-joo.tistory.com/70 volume : https://kkang-joo.tistory.com/45 privileged : docker container 내에서 host의 리눅스 커널 기능을 모두 사용할 수 있다(host의 주요 자원에 접근 권한 획득) version: "3.8" services: grafana: image: grafana/grafana-oss:9.5.2 container_name: grafana ports: - "3000:3000" volumes: - "grafana_volume:/va..
[MSA] Prometheus Grafana docker 설치grafana docker image https://hub.docker.com/r/grafana/grafana grafana docker compose restart : https://kkang-joo.tistory.com/70 volume : https://kkang-joo.tistory.com/45 privileged : docker container 내에서 host의 리눅스 커널 기능을 모두 사용할 수 있다(host의 주요 자원에 접근 권한 획득) version: "3.8" services: grafana: image: grafana/grafana-oss:9.5.2 container_name: grafana ports: - "3000:3000" volumes: - "grafana_volume:/va..
2024.02.18 -
일반적으로 kafka message queue를 활용하면 아래와 같이 하나의 topic을 두고 message를 produce 하고 consume 한다. 위와 같은 경우 이외에 filtering이나 추가 로직을 중간에 두어 여러 topic을 사용하며 체이닝 하는 형식으로 kafka를 활용하기도 한다. 이러한 경우에 여러 producer, consumer를 생성해서 사용하는 것보다는 kafka stream을 활용할 수 있을것 같다 Kafka Stream Kafka Streams는 카프카에 저장된 데이터를 처리하고 분석하기 위해 개발된 자바 라이브러리 장점 카프카와 완벽한 호환 Kafka에서 공식적으로 제공되는 라이브러리 Exactly-once 처리 보장 스케쥴링 도구가 별도로 필요 없음 자체 로컬 상태 저장..
[Kafka] Kafka Stream란 ( Consumer와 비교 )일반적으로 kafka message queue를 활용하면 아래와 같이 하나의 topic을 두고 message를 produce 하고 consume 한다. 위와 같은 경우 이외에 filtering이나 추가 로직을 중간에 두어 여러 topic을 사용하며 체이닝 하는 형식으로 kafka를 활용하기도 한다. 이러한 경우에 여러 producer, consumer를 생성해서 사용하는 것보다는 kafka stream을 활용할 수 있을것 같다 Kafka Stream Kafka Streams는 카프카에 저장된 데이터를 처리하고 분석하기 위해 개발된 자바 라이브러리 장점 카프카와 완벽한 호환 Kafka에서 공식적으로 제공되는 라이브러리 Exactly-once 처리 보장 스케쥴링 도구가 별도로 필요 없음 자체 로컬 상태 저장..
2024.02.14