Backend/Kafka 2

Zookeeper

분산 시스템에서 정보를 공유할 때, 클러스터에 있는 서버들의 상태 체크, 동기화를 위한 락(lock)처리를 해결할 수 있는 시스템을 코디네이션 시스템이라고 하는데 대표적인 것이 바로 Apache Kafka이다. 가장 일반적인 용도로 클러스터 내의 각 서버들의 설정 정보를 저장하는 저장소로 쓸 수 있다. Watch 기능을 이용하면 설정 정보가 저장될 경우, 각 서버로 알려서 바로 반영할 수 있다. 글로벌 락 - 분산 서버가 공유자원을 접근하려 할 때 동시에 하나의 작업만 발생해야한다고 하자. 그 작업에 lock을 걸고 작업을 할 수 있도록 해준다. Kafka나 HBase 등에 쓰인다.

Backend/Kafka 2021.04.13

Kafka

배경 링크드인 웹사이트에서 생성되는 로그를 처리하여 웹사이트 활동을 추적하는 것을 목적으로 개발되었다. 대량의 로그를 분석하여 사용자가 웹에서 하는 활동을 모니터링하고 서비스 개선에 활용하는 것이다. 필요한 조건을 모두 만족하는 기술이 없었기에 여러 조건을 고려하여 만들었다. Pub/Sub model을 구현한 분산 메시징 시스템 - 메시지 생산자인 프로듀서를 Publisher, 메시지 소비자인 컨슈머를 Subscriber라고 한다. - Publiser가 Subscriber에게 직접 메시지를 보내는 것이 아니라 Broker를 통해 전달한다. - Publisher는 누가 그 메시지를 수신하는지 알 수 없고 브로커에 있는 토픽이라고 불리는 카테고리 안에 메시지를 등록한다. - 여러 Subscriber가 같은 ..

Backend/Kafka 2021.04.13