devops 11

[Kafka] 기초3 - 컨슈머 기본 동작과 예시

❑ 컨슈머의 기본 동작 컨슈머는 프로듀서가 카프카의 토픽으로 전송한 메시지를 가져오는 역할을 한다. 단순히 메시지만 가져오는 것으로 보일 수 있으나, 내부적으로는 컨슈머 그룹, 리밸런싱 등의 동작을 수행한다. 컨슈머 그룹(Consumer Group) 컨슈머 그룹은 하나 이상의 컨슈머들이 모여 있는 그룹을 의미하고, 컨슈머는 반드시 컨슈머 그룹에 속하게 된다. 그룹 내의 컨슈머들은 서로의 정보를 공유한다. 예를 들어, 특정 컨슈머에 문제가 생겨 종료된다면, 그룹 내 다른 컨슈머가 대신해 토픽의 파티션을 컨슘한다. 컨슈머 그룹은 파티션의 리더에게 토픽에 저장된 메시지를 가져오기 위한 요청을 보낸다. 필수는 아니지만, 파티션 수와 한 그룹 안의 컨슈머 수는 1:1 매핑이 이상적이다. 단, '파티션 수 < 컨슈..

Back-End/Kafka 2022.08.23

[Kafka] 기초2 - 프로듀서 기본 동작과 예시

❑ 프로듀서 디자인 프로듀서는 카프카의 토픽으로 메시지를 전송하는 역할을 담당한다. 프로듀서를 설정할 수 있는 여러가지 옵션이 있으므로 원하는 조건으로 메시지를 보내기 위해선 옵션을 적절히 사용할 수 있어야한다. 레코드(ProducerRecord) 레코드는 카프카로 전송하기 위한 실제 데이터이며, 토픽(Topic), 파티션(Partition), 키(Key), 밸류(Value)으로 구성된다. 토픽과 밸류(메시지 내용)는 필수 값이다. 파티션(특정 파티션을 지정), 키(특정 파티션에 레코드를 정렬)은 선택 옵션이다. 시리얼라이저(Serializer) 레코드의 키와 밸류를 Byte Array로 변환시킨다. 파티셔너(Partitioner) 레코드들은 프로듀서의 send() 메시지를 통해 시리얼라이저와 파티셔너를..

Back-End/Kafka 2022.08.11

[Kafka] 기초1 - 기본 구성과 핵심 개념(토픽, 파티션, 리플리케이션 등)

❑ 카프카 구성 Overview 구성 요소 설명 주키퍼(Zookeeper) 코디네이터 역할을 하는 아파치 프로젝트 애플리케이션. 카프카의 정상 동작을 보장하기 위해 메타데이터(metadata)를 관리하고 브로커의 상태 점검(Health check)을 한다. 카프카(또는 카프카 클러스터) 여러 개의 브로커를 구성한 클러스터를 의미 브로커(Broker) 카프카가 설치된 서버 또는 노드 프로듀서(Producer) 카프카로 메시지를 보내는 역할을 하는 클라이언트를 총칭 컨슈머(Consumer) 카프카에서 메시지를 꺼내가는 역할을 하는 클라이언트를 총칭 토픽(Topic) 카프카는 메시지 피드들을 토픽으로 구분하고, 각 토픽의 이름은 카프카 내에서 고유함 파티션(Partition) 병렬 처리 및 고성능을 얻기 위해..

Back-End/Kafka 2022.08.09

[Docker] 기초 시리즈 (10) 도커 컨테이너 - Volume 관리

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 [Docker] 기초 시리즈 (10)..

DevOps/Docker 2022.06.07

[Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 (Now) [Docker] 기초 시리..

DevOps/Docker 2022.06.07

[Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry)

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) (Now) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 [Docker] 기초 시리..

DevOps/Docker 2022.06.07

[Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 (Now) [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 [Docker] 기초 시리..

DevOps/Docker 2022.05.14

[Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 (Now) [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 [Docker] 기초 시리..

DevOps/Docker 2022.05.08

[Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 (Now) [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 [Docker] 기초 시리..

DevOps/Docker 2021.12.30

[Docker] 가상화의 등장 배경과 VM(Virtual Machine)

❑ 가상화의 등장 배경 새로운 운영체제의 테스트 환경을 구축하기 위해, 하나의 서버에서 여러 개의 애플리케이션 서버를 구동하는 등 서버 리소스를 탄력적으로 사용하고자 하는 요구사항이 생겼다. 하지만 하나의 서버에 설치된 각 애플리케이션 서버마다 요구하는 환경(Java, DB 버전 등)이 달라 충돌이 일어나기 쉬웠다. 이러한 문제를 해결하고자 서버 PC의 성능을 나눠서 사용하는 방법인 가상화에 대한 연구가 시작되었다. ❑ VM: Virtual Machine 가상화의 한 가지 방법으로 하이퍼바이저(Hypervisor)를 이용해 하드웨어 자원을 가상화하는 방식인 VM(Virtual Machine)이 사용되었다. # 하이퍼바이저(Hypervisor) 하이퍼바이저는 Host OS에서 하드웨어를 여러 개의 Virt..

DevOps/Docker 2021.12.28

[Docker] 기초 시리즈 (1) 도커의 개념과 사용이유

[도커 기초 시리즈 포스팅] [Docker] 기초 시리즈 (1) 도커의 개념과 사용이유 (Now) [Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치 [Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처 [Docker] 기초 시리즈 (4) 도커 이미지의 구조 [Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) [Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성 [Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어 [Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음 [Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법 [Docker] 기초 시리..

DevOps/Docker 2021.12.15