DataBase Isolation Levels
Atomicity / Consistency / Isolation / Durability 트랜잭션이 안전하게 동작하기 위해 지켜야 할 네 가지 성질을 묶어 ACID라고 부른다. 이 글에서 다루는 격리 수준(Isolation Level)은 이 중 Isolation을 얼마나 엄격하게 보장할지 선택하는 옵션이다. Atomicity(원자성): 트랜잭션...
Atomicity / Consistency / Isolation / Durability 트랜잭션이 안전하게 동작하기 위해 지켜야 할 네 가지 성질을 묶어 ACID라고 부른다. 이 글에서 다루는 격리 수준(Isolation Level)은 이 중 Isolation을 얼마나 엄격하게 보장할지 선택하는 옵션이다. Atomicity(원자성): 트랜잭션...
HTTP는 처음 등장한 이후 지금까지 “더 빠르게, 더 효율적으로” 통신하기 위한 방향으로 계속 발전해왔다. 각 버전은 이전 버전에서 드러난 성능 한계를 해결하기 위해 등장했고, 그 한계를 이해하면 다음 버전이 왜 그런 구조를 택했는지 자연스럽게 이해할 수 있다. HTTP/1 정의: 1996년에 표준화된 초기 HTTP(HTTP/1.0)로,...
Reverse Proxy VS API Gateway VS Load Balancer Reverse Proxy, API Gateway, Load Balancer는 모두 “클라이언트와 서버 사이에 위치해 요청을 대신 받아 처리한다”는 공통점 때문에 자주 혼동되지만, 각각 만들어진 목적과 다루는 관심사의 층위가 다르다. 실제로는 하나의 제품(Nginx, E...
🤔 Load Balancer란?? 로드 밸런서(Load Balancer)는 클라이언트로부터 들어오는 요청(트래픽)을 여러 대의 서버에 고르게 분산시켜주는 장비 또는 소프트웨어이다. 서버가 한 대일 경우 트래픽이 몰리면 응답 속도가 느려지거나 장애가 발생할 수 있는데, 로드 밸런서는 여러 대의 서버(서버 풀, Server Pool) 앞단에 위치하여 요...
주키퍼 사용에 따른 제약사항 컨슈머의 오프셋 저장소 전환 카프카 2.0 이전 버전에서는 컨슈머 그룹의 저장소로 주키퍼의 지노드를 이용했음 점점 메시지 수가 늘어나면서 오프셋도 커지고 컨슈머의 숫자도 늘어남에 따라 주키퍼에 대한 부담이 높아짐 결국 2016년에 출시된 카프카 0.10 버전부터 컨슈머의 오프셋 저장소를 카프카의 내부 토픽인 __co...
컨슈머 오프셋 관리 카프카에서는 메시지의 위치를 나타내는 위치를 오프셋(offset)이라고 브루는데, 숫자 형태로 나타냄 컨슈머 그룹은 자신의 오프셋 정보를 카프카에서 가장 안전한 저장소인 토픽에 저장함 즉, _consumer_offsets 토픽에 각 컨슈머 그룹별로 오프셋 위치 정보가 기록됨 컨슈머 기본 동작 컨슈머들은 지정...
파티셔너 카프카의 토픽은 성능 향상을 위한 병렬 처리가 가능하도록 하기 위해 파티션으로 나뉘고, 최소 하나 또는 둘 이상의 파티션으로 구성됨 프로듀서가 카프카로 전송한 메시지는 해당 토픽 내 각 파티션의 로그 세그먼트에 저장됨 프로듀서는 토픽으로 메시지를 보낼 때 해당 토픽의 어느 파티션으로 메시지를 보내야 할지를 결정해야 하는데, 이때...
카프카 리플리케이션 데이터 파이프라인의 메인 허브 역할을 하는 카프카 클러스터가 하드웨어의 문제나 점검 등으로 인해 정상적으로 동작하지 못한다거나, 카프카와 연결된 전체 데이터 파이프라인에 영향을 미친다면 매우 심각한 문제로 발생할 수 있기 때문에 안정성을 확보하기 위해 리플리케이션이 동작하게 된다. 동작 원리 메시지들을 여러 개로...
카프카의 기본 구성 카프카는 데이터를 받아서 전달하는 데이터 버스의 역할을 한다. 프로듀서(Producer) : 데이터(메시지)를 만들어서 주는 쪽 컨슈머(Consumer) : 카프카에서 데이터를 빼내서 소비하는 쪽 주키퍼(zookeeper) : 카프카의 정상 동작을 보장하기 위해 메타데이터를 관리하고, 브로커의 정상상태 점...
실전 카프카 개발부터 운영까지 책을 읽으며 정리한 글입니다. 카프카란? 카프카(Apache Kafka)는 분산 이벤트 스트리밍 플랫폼이다. 쉽게 말하면, 여러 시스템 사이에서 데이터를 빠르고 안전하게 전달해주는 중간 다리 역할을 한다. 탄생 배경 2011년 링크드인(LinkedIn)이 내부 문제를 해결하기 위해 만들었다. 당시 링크드인은 사용...