728x90

분류 전체보기 91

19.Kafka Stream 핵심 개념 이해하기

Kafka Streams는 Kafka에 저장된 데이터를 실시간으로 처리하고 분석할 수 있게 도와주는 클라이언트 라이브러리입니다.Java 애플리케이션에 쉽게 통합할 수 있고, 외부 시스템 없이 Kafka만으로 고성능 스트림 처리가 가능합니다. Kafka Stream 핵심 개념 이해하기 목차 1. Kafka Stream란? 2. 스트림 처리의 기본 구조 3. 시간(Time)의 개념 4. 스트림과 테이블의 이중성(Duality): 상호 변환 5. 집계(Aggregation) 이해하기 6. 윈도우(Windowing) 개념 7. 상태(State)와 상태 저장소 8. 처리 보장 (Exactly-Once) 9. 순서가 뒤바뀐 데이터 처리(Out-of-Order Handling) 10. 예제 코드 관련 글 링크   1..

18.Kafka Consumer API 사용법(subscribe vs assign, 수동 커밋)

Kafka Consumer API 사용법을 정리했습니다. 기본 개념부터 주요 메서드 설명, 설정 옵션, 자바 예제 코드까지 포함되어 있어 Kafka 메시지 소비 클라이언트를 구현할 때 큰 도움이 됩니다. Kafka Consumer API 사용법(subscribe vs assign, 수동 커밋) 목차 1. Kafka Consumer API 함수 정리 2. Kafka Consumer 기본 사용법 3. Kafka Consumer Offset 수동 커밋 4. Kafka Offset 직접 지정: Seek 5. Kafka Consumer 리밸런싱: Rebalancing 6. Kafka Consumer subscribe() vs assign() 차이 관련 글 링크   1. Kafka Consumer API 함수 정리..

17.Kafka Producer API 사용법(비동기 전송, Transaction, 예제)

KafkaProducer API는 Kafka 브로커에 메시지를 전송하는 핵심 도구입니다. 비동기/동기 전송, 트랜잭션 처리, 다양한 설정을 지원하며, 고성능 메시징 시스템을 구현할 수 있게 해줍니다. 이 글에서는 KafkaProducer의 구조와 설정 방법, 전송 방식, 트랜잭션 처리까지 단계별로 알아봅니다. Kafka Producer API 사용법(비동기 전송, Transaction, 예제) 목차 1. Kafka Producer API 개요 2. KafkaProducer 클래스와 설정 방법 3. ProducerRecord 구조 및 생성 방법 4. 메시지 전송 방식: 비동기 vs 동기 5. Kafka 트랜잭션(Transaction) 처리 관련 글 링크   1. Kafka Producer API 개요Kaf..

16. Kafka AdminClient API 예제: Topic,Cluster,ConsumerGroups

Admin API는 Kafka 클러스터의 리소스(토픽, 브로커, ACL, 컨슈머 그룹 등)를 프로그래밍 방식으로 관리할 수 있도록 제공되는 API입니다. org.apache.kafka.clients.admin.AdminClient 클래스를 통해 사용하며, Kafka 클라이언트 라이브러리 안에 포함되어 있습니다. Kafka AdminClient API 예제 코드: Java  목차 1. Kafka AdminClient 개요 2. 토픽 관리 3. 클러스터 정보 조회 4. 컨슈머 그룹 관리 5. 컨슈머 그룹 Offset 관리 6. 토픽 파티션 재 할당 관련 글 링크   1. Kafka AdminClient 개요AdminClient는 Kafka 클러스터의 메타데이터를 조회하고, 토픽이나 컨슈머 그룹을 제어할 수 ..

Eclipse 프로젝트와 GitHub 저장소 연동하기: PAT

GitHub 저장소를 Eclipse 프로젝트와 연동하는 가장 안전하고 권장되는 방식은 PAT(Personal Access Token) 을 사용하는 것입니다.이 글에서는 PAT을 발급받고, Eclipse에서 GitHub 저장소와 안전하게 연동하는 방법을 단계별로 안내합니다. Eclipse 프로젝트와 GitHub 저장소 연동하기: PAT 목차 1. GitHub PAT(Personal Access Token)란? 2. GitHub에서 PAT 생성하기 3. GitHub 저장소 생성하기 4. Eclipse 프로젝트 Git으로 초기화 하기 : Commit 5. GitHub 원격 저장소 연결 : Push 6. GitHub 연결 해제 및 재설정 관련 글 링크   1. GitHub PAT(Personal Access T..

15. Kafka UI 관리도구 AKHQ 설치 및 설정 하기: 사용자 인증

Apache Kafka를 웹 UI로 관리할 수 있는 도구인 AKHQ 설치 및 설정 방법을 소개합니다.Docker 및 Standalone 방식 설치부터 application.yml 설정과 사용자 인증 구성, 서비스 등록까지 자세히 정리했습니다. Kafka UI 관리도구 AKHQ 설치 및 설정 하기: 사용자 인증 목차 1. AKHQ란? 2. AKHQ 설치 방법: Docker 3. AKHQ 설치 방법: Standalone 4. AKHQ 환경 설정: application.yml 5. AKHQ 접속 확인 6. AKHQ 서비스 등록하기 관련 글 링크   1. AKHQ란?AKHQ는 Apache Kafka를 시각적으로 관리할 수 있는 웹 UI 도구입니다.프로듀서, 컨슈머, 토픽, 파티션, ACL 등을 브라우저에서 손쉽..

14.Kafka KRaft 명령어 예제 정리: Cluster, Storage, Metadata

Kafka KRaft 모드 운영 시 필수적인 클러스터, 스토리지, 메타데이터 관리 명령어를 정리했습니다.kafka-cluster.sh, kafka-storage.sh, kafka-log-dirs.sh, kafka-metadata-quorum.sh 도구 활용을 소개 합니다. Kafka KRaft 명령어 예제 정리: Cluster, Storage, Metadata 목차 1. kafka-cluster.sh 명령어 2. kafka-storage.sh 명령어 3. kafka-log-dirs.sh 명령어 4. kafka-metadata-quorum.sh 명령어 관련 글 링크   1. kafka-cluster.sh 명령어◆ 클러스터 ID 조회1. 클러스터 ID 조회kafka-cluster.sh cluster-id -..

13.Kafka 명령어 예제 정리: Topic, Producer, Consumer

Kafka를 사용할 때 가장 많이 사용하는 topic, producer, consumer-group, consumer 명령어를 정리했습니다. Kafka 명령어 예제 정리: Topic, Producer, Consumer 목차 1. Kafka Topic 명령어 예제: kafka-topics.sh 2. Kafka Producer 명령어 예제: kafka-console-producer.sh   3. Kafka Consumer Group 명령어 예제: kafka-consumer-groups.sh 4. Kafka Consumer 명령어 예제: kafka-console-consumer.sh 관련 글 링크   1. Kafka Topic 명령어 예제: kafka-topics.shKafka에서 토픽은 메시지를 전달하..

12. Kafka KRaft 모드 장애복구 및 증설 테스트 (Controller 3, Broker 3)

Kafka 3.9.0을 KRaft 모드로 구성한 후, 컨트롤러와 브로커 장애 복구 동작을 테스트하는 과정을 정리했습니다.3개의 가상 머신을 활용한 실습 환경에서 리더 교체와 동기화 복구 과정을 확인할 수 있습니다 Kafka KRaft 모드 장애복구 및 증설 테스트 (Controller 3, Broker 3) 목차 1. 테스트 환경 구성 및 설정 2. Kafka 클러스터 실행 및 상태 확인 3. 테스트용 토픽 생성 및 메시지 송수신 4. 노드 장애시 클러스터 동작 확인 5. 노드 복구 및 ISR 정상화 확인 6. 무정지 노드 추가 테스트 관련 글 링크   1. 테스트 환경 구성 및 설정Kafka를 테스트 하기 위해서  VirtualBox로 가상머신 3개를  생성하고 kafka 를 설치합니다.이번 테스트에서..

11. Kafka 3.9 노드 구성별 server.properties 예시: KRaft 모드

Kafka KRaft 모드 운영시 server.properties 설정 항목과 함께 단일 노드, 다중 노드, 고가용성(HA) 구성에 따른 예제 파일을 제공합니다. Kafka 3.9 노드 구성별 server.properties 예시: KRaft 모드 목차 1. KRaft 모드에서의 server.properties 위치 2. server.properties 설정 항목 정리 3. 단일 노드 구성 예시(개발 및 테스트) 4. 다중 노드 구성 예시(프로덕션 운영) 5. 고가용성 구성 예시(HA 클러스터) 관련 글 링크   1. KRaft 모드에서의 server.properties 위치Kafka 3.x 이후부터는 KRaft 모드가 기본 제공되며, 기존의 server.properties 대신 다음 경로를 사용합니다...

10. Kafka 3.9 KRaft 모드 설치 (JDK 17 + 단일 노드 구성)

Kafka 3.0부터는 Zookeeper 없이 KRaft 모드로 운영이 가능합니다.본 글에서는 VirtualBox 환경에서 JDK 17을 기반으로 Kafka 3.9를 단일 노드로 구성하고 KRaft 모드로 실행하는 방법을 안내합니다. Kafka 3.9 KRaft 모드 설치 (JDK 17 + 단일 노드 구성) 목차 1. 설치 준비 및 테스트 환경 2. Kafka 전용 계정 생성 3. JDK 17 설치 4. Kafka 3.9 다운로드 및 설정 5. KRaft 모드 설정: 데이터 디렉토리 및 Cluster ID 6. KRaft 서버 설정 수정 7. Kafka 스토리지 포맷 8. Kafka 실행 및 종료 9. Kafka 메시지 전송 테스트 관련 글 링크   1. 설치 준비 및 테스트 환경Kafka를 설치할 가상..

9. Kafka 하드웨어 요구사항 및 JVM 옵션 정리: KRaft 모드

Kafka를 운영하기 위한 하드웨어 권장 사양과 JVM 옵션을 정리했습니다.성능 저하 없이 안정적인 Kafka 클러스터를 구성하려면 CPU, RAM, 저장장치, 네트워크, 파일시스템까지 고려해야 합니다. Kafka 하드웨어 요구사항 및 JVM 옵션 정리: KRaft 모드 목차 1. Kafka 하드웨어 요구사항 요약 2. CPU 요구사항 3. 메모리(RAM) 구성 4. 저장장치(Storage) 권장 사항 5. 네트워크 및 파일 시스템 6. Kafka용 JVM 욥션 설정 7. 대규모 Kafka 운영 예시 관련 글 링크   1. Kafka 하드웨어 요구사항 요약Kafka는 높은 처리량과 실시간 성능을 요구하는 분산 메시지 시스템입니다.아래는 Kafka 브로커를 구축할 때 권장되는 하드웨어 사양입니다:구성요소권..

8. Kafka Consumer 동작 이해하기: Polling, Offset, Commit

Kafka Consumer의 핵심 동작 구조를 한 눈에 정리합니다.Polling 방식의 메시지 처리부터 Offset, Commit 개념과 전략까지 설명합니다. Kafka Consumer 동작 이해하기: Polling, Offset, Commit 목차 1. Kafka Consumer,Consumer Group이란? 2. Polling 방식의 메시지 소비 구조 3. Offset이란? : 메시지 위치 추적의 핵심 4. Commit이란? : Offset 저장의 의미 5. 자동(auto) Commit 6. 수동 동기(Manual Synchronous) Commit 7. 수동 비동기(Manual Asynchronous) Commit 8. 동기 Commit vs 비동기 Commit 관련 글 링크   1. Kafka ..

7. Kafka Producer acks 설정 및 동작 이해하기: 데이터 유실 방지

Kafka에서 acks 설정은 프로듀서가 메시지를 브로커에 전송한 후 어느 시점까지 응답을 받을지를 결정합니다.이 설정에 따라 메시지 유실 여부와 전송 속도가 크게 달라집니다.본 글에서는 acks=0, acks=1, acks=all의 차이와 메시지 흐름을 시각적으로 정리해 쉽게 설명합니다. Kafka Producer acks 설정 및 동작 이해하기: 데이터 유실 방지 목차 1. Kafka에서 acks란? 2. acks 옵션별 동작 방식 비교 3. acks=0: 빠르지만 불안한 전송 4. acks=1: 성능과 안정성의 절충 5. acks=all: 완전한 신뢰성과 메시지 보장 6. 설능과 안정성을 위한 설정 관련 글 링크   1. Kafka에서 acks란?Kafka에서 acks는 프로듀서가 보낸 메시지가 브..

13. SSH 공개키 인증 설정하기: 비밀번호 로그인 차단

SSH 공개키 인증을 설정하면 비밀번호 없이 안전하게 서버에 접속할 수 있습니다. 비밀번호 로그인을 차단함으로써 무차별 대입 공격을 방지하고, 보안을 한층 강화할 수 있습니다. SSH 공개키 인증 설정하기: 비밀번호 로그인 차단 목차 1. SSH 공개키 인증이란? 2. 클라이언트에서 SSH 키 생성하기 3. 서버에 공개키 등록하기 4. SSH 설정 변경(공개키 인증만 허용) 5. SSH 접속 테스트 관련 글 링크 1. SSH 공개키 인증이란?SSH 공개키 인증은 비대칭 암호화 방식으로, 클라이언트에서 생성한 개인키(Private Key)와 공개키(Public Key)를 기반으로 서버 인증을 수행합니다.공개키는 서버에 등록개인키는 클라이언트에 안전하게 보관비밀번호 인증보다 보안..

12. Ubuntu에서 SSH 서버 설치 및 보안 설정

Ubuntu에서 SSH 서버 설치부터 보안 설정까지 전체 과정을 설명합니다. 비밀번호 로그인 차단, 포트 변경, 사용자 제한 등 보안 강화를 위한 설정도 포함되어 있습니다. Ubuntu에서 SSH 서버 설치 및 보안 설정 목차 1. SSH 서버 설치 방법 2. SSH 보안 설정 기본 예시 3. sshd_config 상세 설정 설명 4. root 로그인 허용 설정(비추천) 관련 글 링크 1. SSH 서버 설치 방법SSH(Secure Shell)는 네트워크를 통해 원격 서버에 안전하게 접속할 수 있는 프로토콜입니다.Ubuntu에 SSH 서버를 설치하면 외부에서 원격으로 접속하고 제어할 수 있습니다.Ubuntu에 openssh-server 패키지를 설치하면 SSH 서버가 구성됩니다.s..

11.Ubuntu에서 Netplan으로 고정 IP 및 DHCP 설정하기

Ubuntu 17.10부터 도입된 Netplan을 사용하면 네트워크 설정을 YAML 파일로 간편하게 구성할 수 있습니다. 이 글에서는 고정 IP 설정과 DHCP 설정 방법, renderer 비교, 실전 예시까지 Ubuntu 24.04 기준으로 상세히 설명합니다. Ubuntu에서 Netplan으로 고정 IP 및 DHCP 설정하기 목차 1. Netplan이란? 2. Netplan 설정 파일 위치와 구조 3. 고정 IP 설정 방법 4. DHCP 설정 방법 5. Netplan 설정 적용 및 IP 확인 6. systemd-networkd vs NetworkManager 7. Netplan 다중 인터페이스 설정 예시 관련 글 링크   1. Netplan이란?Netplan은 Ubuntu에서 네트워크 설정을 관리하는 ..

10. 네트워크 관리 명령어 정리: iproute2

Linux 네트워크 관리 도구인 iproute2의 개념과 사용법을 정리했습니다. ifconfig, route 등 기존 도구를 대체하며 더 강력한 기능을 제공하는 iproute2 명령어들을 예시와 함께 소개합니다. 네트워크 관리 명령어 정리: iproute2 목차 1. iproute2란? 2. 기존 네트워트 도구와의 비교 3. iproute2 설치 방법 4. 주요 명령어 요약 5. 주요 명령어 사용법 관련 글 링크   1. iproute2란?iproute2는 Linux에서 네트워크를 관리하는 최신 명령어 집합입니다.IP 주소, 라우팅, 터널링, 정책 기반 라우팅 등을 다룰 수 있습니다.기존 도구들보다 성능이 뛰어나고 더 다양한 기능을 제공합니다.  2. 기존 네트워크 도구와의 비교기존도구iproute2설명..

9. su vs sudo 비교

Linux에서 su와 sudo는 관리자 권한을 얻는 대표적인 방법입니다. 두 명령어의 차이점과 사용법, 배포판별 특징을 이해하면 더 안전하고 효율적인 시스템 관리를 할 수 있습니다. su vs sudo 비교 목차 1. su 명령어 2. sudo 명령어 3. su와 sudo 주요 차이점 4. 사용자에게 sudo 권한 부여하는 방법 관련 글 링크  1. su 명령어su는 현재 사용자를 다른 사용자로 전환하는 명령어입니다.일반적으로 root 계정으로 전환할 때 사용되며, 대상 사용자의 비밀번호를 입력해야 합니다.su : 해당 사용자의 셸로 전환 (환경 변수는 유지됨)su - : 로그인 셸로 전환 (환경 변수 초기화됨)su -s /bin/bash : 특정 셸로 실행su -c "" : 특정 명령 실행 후 ..

8. 리눅스 계정 관리 명령어 정리 : 생성, 삭제, 잠금, 그룹

리눅스에서 사용자 계정을 관리하는 방법을 정리했습니다. adduser, useradd, deluser, userdel 명령어의 차이점과 사용법을 한눈에 이해할 수 있습니다. 계정 잠금, 비활성화, 그룹 관리까지 포함된 설명입니다. 리눅스 계정 관리 명령어 정리 : 생성, 삭제, 잠금, 그룹 목차 1. 계정 추가: adduser vs useradd 2. 계정 삭제: deluser vs userdel 3. 계정 잠금과 잠금 해제 4. 사용자 및 그룹 관리 명령어 정리 관련 글 링크   1. 계정 추가: adduser vs useradd ◆ adduser고수준의 사용자 추가 명령어입니다.대화형 방식으로 비밀번호와 사용자 정보를 쉽게 입력할 수 있어 편리합니다.# 기본 사용자 생성$ sudo adduser # ..

728x90