Docker로 Kafka 클러스터 만들기

이 문서는 Kafka에 대한 최소한의 경험을 가지고 있는 것으로 가정한다. 아래의 지식이 필요하다. 에 대한 기본 이해 에 대한 기본 이해 컨슈머와 프로듀서 파티션 컨슈머 그룹의 경우 가용 영역 갯수 만큼의 브로커를 만들어야 한다. 테스트하려는 도쿄리전은 3개의 가용 영역으로 구성돼 있으니 최소 사양으로 만들 경우 (kafka실행을 위한 최소 스펙)kafk...

Kafka 시작하기

메시지 애플리케이션은 어떤 애플리케이션에서 다른 애플리케이션으로 데이터를 보내는 시스템이다. 메시지 시스템은 두 애플리케이션 사이에서 전령 역할을 한다. 메시지의 전송과 수신은 메시지 시스템이 안전하게 처리해 줄 것이라는 것을 보증한다. 따라서 메시지 애플리케이션은 메시지의 송/수신 과정에 신경 쓸 필요 없이, 메시지(데이터)에만 신경을 쓰면 된다. 메시...

etcd

etcd는 분산 key-value store다. CoreOS에서 coreos 인스턴스의 클러스터를 관리하기 위해서 사용했으며, 구글의 클러스터 컨테이너 관리 소프트웨어인 Kubernetes의 백엔드 시스템으로 사용하면서 더 유명해 졌다. 오픈소스로 GitHub에서 다운로드 해서 사용 할 수 있다. etcd는 네트워크로 연결된 노드들 중 리더를 선정해서 클러...

Zookeeper를 이용한 분산코디네이터 구성

본격적으로 주키퍼(zookeeper)를 활용 해야 할 때가 왔다. 활용전에 주키퍼의 기본 기능들을 살펴보려 한다.설치 환경은 다음과 같다. VirtualBox 주키퍼 클러스터 주키퍼 노드 아래와 같이 구성한다.3개의 주키퍼 노드로 주키퍼 클러스터를 만든다. 주키퍼 노드의 이름은 zk-01, zk-02, zk-03이다. 테스트를 위해서 두 개의 노드를 준비...

Zookeeper

Zookeeper Apache Zookeeper는 대규모의 분산시스템 관리를 도와주는 애플리케이션이다. 분산 설정 서비스, 서비스 동기화, 이름 관리(naming registry)등의 기능을 이용해서 분산시스템을 관리한다. Hadoop의 서브 프로젝트로 시작했는데, (2104년 12월)지금은 top-level 프로젝트다.예전부터 관심은 가지고 있었으나 분...

Zookeeper Watcher 개발

Zookeeper Watcher 개발의 구성을 고민하고 있다. MQTT Cluster를 구성하는 각 노드들은 다른 노드들과 서로 독립적이기 때문에, 엄격한 노드관리가 필요하지는 않다. 해서 굳이 주키퍼와 같은 소프트웨어의 도움없이, Zabbix를 이용해서 클러스터를 관리하는 걸로 설계를 했다. 자빅스로 클러스터를 구성하는 노드를 모니터링 하다가 이상이 생...