전체 글 451

[Kafka] 당신의 카프카는 zero copy입니까?

해당 내용의 글을 작성하며 1. Kafka를 로컬에서 SSL 인증을 경유하게 설정하는 방식.2. Kafka의 시스템 콜 로그를 찍는 방식.2가지에 대해 AI를 사용하였습니다. 짧은 지식으로 작성한 내용이기에 AI 사용 부분 혹은, 그 외의 어느 부분에서라도 오류가 존재한다면 댓글에 남겨주시면 감사하겠습니다.접근카프카는 왜 빠를까?카프카를 한 번이라도 사용해 본 적이 있는 사람이라면, 그 사람이 개발자라면 반드시 궁금했을만한 내용이다.카프카는 메모리도 아니고, 디스크를 사용한다는데 어떻게 그렇게 빠를까? 디스크는 느린 거 아닌가?라는 궁금증이 들어 내용을 찾아보았다.수많은 블로그, 그리고 공식 docs 까지 모두 대략 3가지의 근거를 들었다.1. Sequential I/O데이터를 읽거나 쓸 때 Random..

카프카 2026.03.29

[Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정 요약

길고 긴 개선 과정을 거쳐 최종적으로 마무리한 Kafka Parallel-Consumer의 선정과 결론에 대해 정리하고자 한다. 개선 과정이 궁금하신 분께서는 아래 내용을 참고해주시면 감사하겠습니다.2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(1)2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(2)2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(3(완))배경기능 요구사항을 다시 한번 살펴보자.사용자 1명당 N개의 알림을 받을 수 있다.추후 알림 별 시간 설정 기능이 추가될 수 있으나, 현재 모든 알림이 동일한 ..

카프카 2026.03.22

[Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(3(완))

‼️💡 최종 개선 결과 💡‼️- 초당 처리량 362.12건 → 6,767.27건- 약 18.7배 성능 향상총 3편의 내용으로 구성된 개선 과정이다.더보기1편 : 2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(1)[Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(1)‼️💡 최종 개선 결과 💡‼️- 초당 처리량 362.12건 → 6,767.27건- 약 18.7배 성능 향상개요프로젝트를 진행하는 과정에서 알림 기능을 추가해야 했다.기능 요구조건은 아래와 같았다.사용자 1명to-travel-coding.tistory.com2편 : 2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을..

카프카 2026.03.21

[Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(2)

‼️💡 최종 개선 결과 💡‼️- 초당 처리량 362.12건 → 6,767.27건- 약 18.7배 성능 향상총 3편의 내용으로 구성된 개선 과정이다.더보기1편 : 2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(1) [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(1)‼️💡 최종 개선 결과 💡‼️- 초당 처리량 362.12건 → 6,767.27건- 약 18.7배 성능 향상개요프로젝트를 진행하는 과정에서 알림 기능을 추가해야 했다.기능 요구조건은 아래와 같았다.사용자 1명to-travel-coding.tistory.com3편(완) : 2026.03.21 - [카프카] - [Kafka] Parallel-Consu..

카프카 2026.03.21

[Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(1)

‼️💡 최종 개선 결과 💡‼️- 초당 처리량 362.12건 → 6,767.27건- 약 18.7배 성능 향상총 3편의 내용으로 구성된 개선 과정이다.더보기2편 :2026.03.21 - [카프카] - [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(2) [Kafka] Parallel-Consumer을 통한 알림 성능 개선 과정(2)‼️💡 최종 개선 결과 💡‼️- 초당 처리량 362.12건 → 6,767.27건- 약 18.7배 성능 향상총 3편의 내용이다.3차 구현조회는 단일 서버, 처리는 Kafka Consumer 분산 처리 2차 구현에서는 target 단위 Redisto-travel-coding.tistory.com3편(완) :2026.03.21 - [카프카] - [Kaf..

카프카 2026.03.21

[Spring] Transactional의 이해

💡 트랜잭션🤔 트랜잭션이란?트랜잭션이란 데이터베이스 혹은 유사 시스템에서 하나의 상호작용 단위이다. 이는 데이터의 정합성을 보장하기 위해 고안된 방법이다. 이는 데이터베이스를 일관성 있게 유지하고, 동시 접근하는 여러 프로그램 간의 격리를 제공하기 위해 존재한다.트랜잭션 내 SQL문들은 모두 성공하여 commit 되거나, 하나라도 실패하는 경우 전체가 rollback 된다. 🫨 ACID트랜잭션이 어떤 속성을 지녀야 하는지 나타내는 핵심이다.4가지 규칙을 모두 보장해 안전하게 수행되어야 한다. 원자성(Atomicity)All or Noting모두 성공 or 모두 실패하나의 트랜잭션은 논리적으로 나누어질 수 없는 단위이기 때문에 동일한 경과를 보장해야 한다.즉, 일부만 성공하거나 실패하는 상태는 존재해..

Spring/Spring 2026.03.02

[KT CLOUD TECH UP] 웹 백엔드 파트 1기 중간 후기

해당 교육과정은 KT CLOUD에서 직접 커리큘럼을 설계하고 제작하여 구름과 함께 진행하는 부트캠프이다.가장 흥미로웠던 부분은 kt cloud 혹은 대기업의 이름을 걸고 진행하는 부트캠프는 되게 많이 보았지만, 실제로 운영에 관여 한다는 느낌을 받은 것은 처음이라 찾아보게 된 것 같다.https://www.youtube.com/watch?v=0xlwUnrinIM 그 과정에서 해당 영상을 보게 되었고, 신뢰와 확신이 생겨 지원하게 되었다.평소 링크드인을 통해 통찰력이 높으신 분이라고 생각했는데, 이 분이 직접 영상을 통해 설명해주시니 믿음이 생겼다. 지원 과정지원은 총 3가지 방식이 있었다.1. 5분 셀프 인터뷰 제출2. 프로젝트와 포트폴리오 제출3. 면접 대학교 친구들과 함께 1,2,3 모두 다양한 방식..

기록 2026.01.24

[Kafka] Group, Topic, Record, Consumer, Partition 총 정리

Record카프카 레코드의 구조는 위와 같다.프로듀서가 생성한 레코드가 브로커로 전송되면 offset & timestamp가 지정되어 저장된다.timestamp스트림 프로세싱에서의 활용을 위해 시간을 저장하는 용도로 사용된다.따로 설정하지 않으면 PrdocuerRecord의 생성시간이 들어간다.적재시간으로 변경할 수 있다.offset프로듀서가 생성한 레코드에 존재하는 것은 아니다.브로커에 적재될 때 오프셋이 지정된다.(0-based idx)컨슈머는 오프셋을 기반으로 처리가 완료된 데이터와 처리하지 못한 데이터를 구분한다.파티션별 고유한 오프셋을 가지므로, 컨슈머에서 중복 처리를 방지하기 위해서도 사용된다.headerskey/value로 추가 가능하며 데이터를 넣어 사용 가능하다.key처리하고자하는 메시지..

카프카 2026.01.05

[MySQL] Boolean vs Enum

MySQL에서 Boolean과 Enum 사용에 대한 고찰Boolean 타입MySQL에는 BOOLEAN이라는 타입 자체가 존재하지 않는다.MySQL 공식 문서 - Data Types MySQL :: MySQL 8.4 Reference Manual :: 13 Data TypesMySQL supports SQL data types in several categories: numeric types, date and time types, string (character and byte) types, spatial types, and the JSON data type. This chapter provides an overview and more detailed description of the properties ..

DB/MySQL 2025.11.24