일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cd
- Kubernetes
- transactionaleventlistener
- topic생성
- CI
- consumer
- mysql
- CodePipeline
- entity graph
- API
- bean
- Kotlin
- PAGING
- AWS
- producer
- Entity
- JPA
- centos7
- kafka
- spring kafka
- QueryDSL
- offsetdatetime
- git
- ECS
- Spring JPA
- Spring Data JPA
- Streams
- spring
- mirror maker2
- K8s
- Today
- Total
목록전체 글 (100)
Yebali

카프카에서 토픽을 생성하는 방법은 두 가지가 있다. 첫 번째는 카프카 컨슈머/프로듀서가 브로커에 생성되지 않은 토픽에 대해 데이터를 요청할 때 생성된다. 두 번째는 커맨드 라인 툴로 명시적으로 토픽을 생성하는 것이다. 토픽을 효과적으로 유지보수하기 위해서는 토픽을 명시적으로 생성하는 것이 좋다. 토픽 생성 'kafka-topics.sh'를 통해 토픽 관련 명령을 실행할 수 있다. '--create'옵션을 사용하여 'hello.kafka'라는 이름을 가진 토픽을 생성할 수 있다. bin/kafka-topics.sh \ --create \ --bootstrap-server 13.124.252.159:9092 \ --topic hello.kafka 클러스터의 정보와 토픽의 이름은 토픽을 만들기 위한 필수 값이..

카프카를 공부하며 실습을 위한 환경을 만들기 위한 작업이다. 카프카와 주키퍼 모두 한 EC2 인스턴스에 설치할 것이다. 사전작업 카프카는 자바 애플리케이션이기 때문에 JDK가 미리 설치되어있어야 한다. EC2에 JDK 11 설치하기 EC2 Linux Java 11 설치하기 EC2 Linux에서 jdk를 설치하려고 하면 1.8까지만 존재하는 것을 확인할 수 있다. Java 11 설치하기 때문에 Java 11을 설치하기 위해서는 yum 설치 외의 다른 방법을 사용해야 한다. 예시에서는 Amazon에서 yebali.tistory.com 설치하기 카프카를 설치하는 방법은 사실 파일을 다운받고, 설정하고, 실행하는 것이 전부이다. 1. 카프카 다운로드 하기 https://kafka.apache.org/downlo..

EC2 Linux에서 jdk를 설치하려고 하면 1.8까지만 존재하는 것을 확인할 수 있다. Java 11 설치하기 때문에 Java 11을 설치하기 위해서는 yum 설치 외의 다른 방법을 사용해야 한다. 예시에서는 Amazon에서 제공하는 OpenJDK인 corretto를 설치한다. aws corretto rpm파일 다운로드 sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm jdk 11 설치하기 sudo yum localinstall jdk11.rpm jdk version 선택하기 (jdk설치가 최초라면 할 필요 없습니다.) sudo /usr/sbin/alternatives..

EC2 인스턴스를 사용하다 보면 메모리가 부족한 경우가 많다. 이런 문제는 가상 메모리를 추가하여 어느 정도 해결할 수 있다. AWS 공식 문서에 나온 가상 메모리 추가 방법을 알아보자. 스왑 파일 생성하기 'dd' 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성한다. 'bs'는 블록의 크기이고 'count'는 블록의 수이다. 스왑 파일의 크기는 '블록 크기x블록 수'이다. 이 값들을 조정하여 원하는 스왑 파일의 크기를 결정한다. # 이 예제의 스왑 파일은 4GB(128M x 32)이다 sudo dd if=/dev/zero of=/swapfile bs=128M count=32 스왑 파일의 읽기 쓰기 권한 업데이트 하기 sudo chmod 600 /swapfile Linux 스왑 영역 설정하기 s..

스프링 카프카 스프링 카프카는 카프카를 스프링 프레임워크에서 효과적으로 사용할 수 있도록 만들어진 라이브러리다. 카프카 클라이언트에서 사용하는 여러 가지 패턴을 미리 제공한다. ex) 컨슈머를 멀티 스레드로 운영하고 싶다면 concurrency 옵션 하나만 추가하면 쉽게 구현할 수 있다. 스프링 카프카 라이브러리는 어드민, 컨슈머, 프로듀서, 스트림즈 기능을 제공한다. 스프링 카프카의 의존성 implementation("org.springframework.kafka:spring-kafka") 스프링 카프카 프로듀서 스프링 카프카 프로듀서는 ‘카프카 템플릿’이라고 불리는 클래스를 사용하여 데이터를 전송할 수 있다. 카프카 템블릿은 ‘프로듀서 팩토리’ 클래스를 통해 생성하며, 사용하는 방법은 2가지가 있다...

컨슈머 컨슈머는 카프카에 적재된 데이터를 처리한다. 컨슈머의 고급 활용법과 옵션별 동작 방식을 알아보자 멀티 스레드 컨슈머 파티션을 여러 개 운영하는 경우 파티션의 개수와 컨슈머 개수를 동일하게 하는 것이 가장 좋다. 그렇다면 ‘1개의 프로세스 + N개의 스레드’ OR ‘N개의 프로세스 + 각 1개의 스레드’ 무엇이 더 좋을까? -> 개발자 선택에 달렸다. 운영하는 환경을 잘 파악하고 선택하자. 멀티 스레드로 운영할 경우 하나의 스레드에서 예외가 발생하여 프로세스 자체가 종료되면 다른 스레드까지 영향을 미치기 때문에 중복, 유실 등의 문제가 발생할 수 있다. + 스레드 세이프 로직, 변수를 적용을 고려해야 한다. 멀티 스레드 운영방식은 두 가지로 나뉜다. 하나의 컨슈머 스레드, 데이터 처리를 담당하는 여..