|
|
e5d00d3737
|
docs: README 가독성 개선을 위한 headline 크기 수정 및 구분선 추가
|
2025-06-27 17:17:53 +09:00 |
|
|
|
8e6cc52bdd
|
Merge pull request '[#11] keytool이 설치되지 않는 환경 지원' (#12) from infra/#11 into main
Reviewed-on: #12
|
2025-06-27 08:08:33 +00:00 |
|
|
|
b192387b7c
|
docs: update README.md
- java, docker 설치는 반드시 필요하다는 주의 내용 추가
|
2025-06-27 17:06:24 +09:00 |
|
|
|
a03050d85d
|
docs: update README.md
- 우분투 환경에서 정상 동작 확인 내용 추가
|
2025-06-27 17:00:23 +09:00 |
|
|
|
7bd4d982e8
|
feat: 빠져있던 close-all.sh 스크립트 추가
|
2025-06-27 16:58:39 +09:00 |
|
|
|
8a0face4cd
|
refactor: keytool이 설치된 경우에만 생성하고, 아니면 업로드된 인증서를 사용하도록 ./run.sh 스크립트 수정
|
2025-06-27 16:31:40 +09:00 |
|
|
|
a2b97fb38d
|
chore: 테스트에 사용하는 인증서 및 비밀번호 파일 추가
|
2025-06-27 16:31:22 +09:00 |
|
|
|
6eac52c3b8
|
Merge pull request '[#9] poll 작업이 완료되었다고 판단하는 기준 수정' (#10) from refactor/#9 into main
Reviewed-on: #10
|
2025-06-27 07:13:24 +00:00 |
|
|
|
e49841575d
|
test: RecordProcessor에서 연속인 경우에만 동작하는지 검증.
- 검증을 위해 ConsumerStats 에서 package-private Getter 추가
|
2025-06-27 16:09:53 +09:00 |
|
|
|
e5916eb305
|
refactor: '연속' 판단을 위해 비어있지 않은 레코드를 입력받는 경우 count를 0으로 설정하도록 기능 수정
|
2025-06-27 16:08:45 +09:00 |
|
|
|
63d2f91713
|
Merge pull request '[#7] 테스트 스크립트 실행을 위한 나머지 환경 추가 및 테스트 진행' (#8) from infra/#7 into main
Reviewed-on: #8
|
2025-06-27 06:09:36 +00:00 |
|
|
|
77ee1dff8c
|
refactor: ConsumerWorker에서의 메서드 및 변수 분리
- finally 구문에서 실행되는 종료 로직을 closeAfterManualCommit() 으로 분리
- consumer.commitAsync에 들어가는 OffsetCommitCallback을 변수로 분리
|
2025-06-27 15:07:15 +09:00 |
|
|
|
c348ae6dbd
|
fix: 프로젝트명 & 패키지명 수정 반영
|
2025-06-27 14:52:33 +09:00 |
|
|
|
1eb46b7921
|
test: 테스트에 사용되는 레코드 추가 기능 구현
|
2025-06-27 14:49:06 +09:00 |
|
|
|
ad56fa909a
|
test: 테스트를 위한 토픽 관리용 AdminClient 및 관련 처리 로직 추가
|
2025-06-27 14:48:31 +09:00 |
|
|
|
ebd003b79e
|
Merge pull request '[#5] 컨슈머 코드 마이그레이션' (#6) from feature/#5 into main
Reviewed-on: #6
|
2025-06-27 05:43:39 +00:00 |
|
|
|
8ff8584a31
|
refactor: DLTProducerTest에서 불필요한 컨슈머 연결 방지를 위한 컨슈머 Mocking
- Kafka 클러스터 실행 없이 테스트를 진행해도 정상 동작해야 함.
|
2025-06-27 14:38:29 +09:00 |
|
|
|
54328767b9
|
feat: 컨슈머 설정 클래스 구현
- 컨슈머 관련 설정 + 메트릭 측정을 위한 MeterBinder 빈
- KafkaConsumer는 Thread-Safe하지 않기에 빈 등록 X
|
2025-06-27 14:37:05 +09:00 |
|
|
|
c891e26b8a
|
feat: 컨슈머 기능 구현
- 3개의 워커스레드 생성 및 실행
- 스프링의 PreDestroy를 이용한 shutdown 로직 구현
|
2025-06-27 14:36:10 +09:00 |
|
|
|
bad7b5725e
|
feat: 컨슈머 워커 스레드 기능 구현
- 오프셋 비동기 커밋 & 예외 처리 & shutdown 기능 구현
|
2025-06-27 14:35:10 +09:00 |
|
|
|
e4b86e6f21
|
feat: 컨슈머 레코드 처리 기능 구현
- 메트릭 측정(ref: ce20f85c)을 위한 로직
- 레코드 자체를 처리하는 비즈니스 로직은 없음.
|
2025-06-27 14:34:13 +09:00 |
|
|
|
69bd95b981
|
feat: 컨슈머 리밸런스 발생시 처리 기능 구현
- 일단 로깅 및 Manual Commit만 진행
|
2025-06-27 14:32:11 +09:00 |
|
|
|
26f39596f0
|
feat: application.yml의 workerThreads로 지정된 값 만큼의 스레드 풀 및 크기값을 가지는 클래스
- 스레드 풀이 필요한 곳, 단순히 스레드 수가 필요한 곳 모두에서 사용하기 위함.
|
2025-06-27 14:31:19 +09:00 |
|
|
|
ce20f85c04
|
feat: Plaintext와 Ssl에서의 전송 시간 메트릭 측정에 사용되는 ConsumerStats 클래스
|
2025-06-27 14:29:46 +09:00 |
|
|
|
3e9e8ebe2a
|
feat: 로컬에서의 정상 실행을 확인하기 위한 카프카 클러스터 실행용 스크립트
|
2025-06-27 14:27:55 +09:00 |
|
|
|
bc79ff7035
|
Merge pull request '[#3] 컨슈머를 제외한 나머지 애플리케이션 코드 마이그레이션' (#4) from feature/#3 into main
Reviewed-on: #4
|
2025-06-27 05:20:06 +00:00 |
|
|
|
b0456c18a2
|
test: Dead Letter Topic 프로듀서 재시도 테스트
- ref: 1f60a0ff
|
2025-06-27 14:13:33 +09:00 |
|
|
|
1f60a0ff33
|
feat: Dead Letter Topic 프로듀서 기능 구현
- 최대 5회 재시도. 재시도 실패시 인메모리 컬렉션에 저장
|
2025-06-27 14:11:16 +09:00 |
|
|
|
fcc5fcffe6
|
feat: Dead Letter Topic 프로듀서 설정 클래스
- KafkaProducer는 Thread-Safe이기에 Bean으로 등록하여 사용함.
|
2025-06-27 14:09:57 +09:00 |
|
|
|
c6b21da23e
|
feat: 컨슈머, 프로듀서에서 모두 쓰이는 Configuration 클래스
- 현재는 Dead Letter Topic 프로듀서 Bean만 등록
|
2025-06-27 14:03:26 +09:00 |
|
|
|
b6e6484cb0
|
feat: 카프카 설정값을 담는 KafkaProperties 클래스 및 ConfigurationProperties 적용을 위한 application.yml 설정
|
2025-06-27 14:02:14 +09:00 |
|
|
|
ef8c526fec
|
feat: 테스트용 레코드 클래스와 직렬화, 역직렬화 클래스
|
2025-06-27 13:57:35 +09:00 |
|
|
|
c48e2cdf4a
|
Merge pull request '[Infra/#1]: 컨테이너 실행을 위한 Docker 및 자동화 스크립트 추가' (#2) from infra/#1 into main
Reviewed-on: #2
|
2025-06-27 04:34:30 +00:00 |
|
|
|
597c0e012c
|
feat: 카프카 클라이언트 배포를 위한 Dockerfile 및 compose
|
2025-06-27 13:30:55 +09:00 |
|
|
|
aefce3563c
|
feat: Grafana & Prometheus & Kafka UI 배포를 위한 docker-compose
|
2025-06-27 13:30:38 +09:00 |
|
|
|
95f4acab65
|
feat: 카프카 브로커 배포용 docker-compose
|
2025-06-27 13:30:22 +09:00 |
|
|
|
0e06037152
|
feat: 카프카 브로커 및 클라이언트 애플리케이션 메트릭 수집을 위한 프로메테우스 설정
|
2025-06-27 13:29:47 +09:00 |
|
|
|
8f0d7ca96a
|
feat: 그라파나 프로비저닝 환경 설정 파일
- 대시보드 및 프로메테우스 Datasource 설정
|
2025-06-27 13:28:46 +09:00 |
|
|
|
cacca1b44e
|
feat: 카프카 메트릭 측정을 위한 JMX 설정 파일
|
2025-06-27 13:27:43 +09:00 |
|
|
|
09d274216e
|
feat: 테스트 실행 자동화 스크립트
|
2025-06-27 13:27:02 +09:00 |
|
|
|
0c1e2ea963
|
feat: ssl 전송을 위한 인증서 발급 스크립트
|
2025-06-27 13:26:35 +09:00 |
|
|
|
f583878bd4
|
docs: update README
|
2025-06-27 13:15:41 +09:00 |
|
|
|
17b739b72b
|
docs: update README
|
2025-06-25 01:44:40 +09:00 |
|
|
|
1445012a38
|
docs: upload README
|
2025-06-25 01:20:06 +09:00 |
|
|
|
9dccf578ab
|
load templates for publishing issue or pull requests
|
2025-06-25 00:10:35 +09:00 |
|
|
|
e75a481d18
|
initialize projects
|
2025-06-25 00:06:05 +09:00 |
|
|
|
15885f8feb
|
Initial commit
|
2025-06-24 14:58:16 +00:00 |
|