Loading...
2022. 11. 12. 15:27

[Kafka] docker-compose를 활용한 더 쉬운 Kafka 서버 설치

지난 포스트에서 Docker를 이용해 Kafka와 Zookeeper를 설치하는 방법에 대해 알아봤습니다. 하지만 Zookeeper와 Kafka 이미지를 pull하고 run하고, 네트워크를 만드는 작업을 일일이 명령어로 치기에는 너무 불편하고 번거로운 작업들이 많았습니다. 그래서 이번엔 docker-compose를 이용해서 명령어 하나만 가지고 쉽게 로컬에서 Kafka 브로커를 실행하는 방법에 대해 알아보도록 하겠습니다. docker-compose 먼저 짧게 docker-compose에 대해서 설명을 드리자면 docker-compose는 Docker의 구성 요소(이미지, 네트워크, 볼륨, 실행 전략)들을 하나의 파일로 엮어 실행하는 통합 실행 도구입니다. 즉 여러 개의 컨테이너를 실행시키는 도커 애플리케이..

2022. 10. 9. 20:44

[Kafka] 컨테이너를 이용한 Kafka 설치

지난 포스트에서 우리는 Kafka가 어떤식으로 구성되었는지를 알아봤습니다. 2022.07.31 - [Middleware/Kafka] - [Kafka] 카프카의 코디네이터 Zookeeper [Kafka] 카프카의 코디네이터 Zookeeper 우리가 컴퓨터에 카프카를 설치하려면 반드시 따라서 설치해야하는 것이 있습니다. 바로 주키퍼(Zookeeper)인데요. 다른 메시지 큐와 다르게 카프카는 왜 주키퍼를 필요로 하는 것일까요? 코디네 blog.neonkid.xyz 카프카를 설치하는 방법은 두 가지 방법이 있습니다. 서버 호스트에 직접 설치 컨테이너를 이용한 설치 서버 호스트에 직접 설치하는 것은 환경 분리 없이 Homebrew, PPA를 이용해서 자신의 서버 환경에 설치하는 것입니다. 독립된 공간을 사용하지..

2022. 7. 31. 23:09

[Kafka] 카프카의 코디네이터 Zookeeper

우리가 컴퓨터에 카프카를 설치하려면 반드시 따라서 설치해야하는 것이 있습니다. 바로 주키퍼(Zookeeper)인데요. 다른 메시지 큐와 다르게 카프카는 왜 주키퍼를 필요로 하는 것일까요? 코디네이션 서비스 시스템 (Coordination System) 분산 처리 시스템을 다루다보면 가장 큰 난제가 바로 분산된 시스템끼리 어떻게 정보를 공유할 것인가? 입니다. 쿠버네티스, 카프카 등 분산 시스템 자체는 클러스터를 중심으로 하위 노드들이 집결 되어 있는 형태가 보통인데 클러스터에서 하위 노드를 관리하기 위해 해야할 일은 아래와 같습니다. 각 하위 노드들의 Healthcheck Lock Processing 분산된 서버들끼리 통신할 때 서로 리소스를 공유하려다 보면 자원 점유 문제가 발생하는데, 이를 처리하기 ..

2022. 7. 30. 14:48

[Kafka] Apache Kafka는 무엇이고 왜 성능이 빠를까?

카프카란 무엇일까? 카프카란 말을 들어본 적은 있지만 아직 사용해본 적이 없다면 이 소프트웨어가 되게 생소할 수 있습니다. 카프카는 Linkedin에서 처음 개발하여 아파치 오픈 소스까지 오게 된 대용량 메시지 분산 처리 플랫폼입니다. 메시지 분산 처리 플랫폼 여기서 이야기하는 메시지란, 우리가 개발한 일련의 소프트웨어를 통신하기 위한 메시지를 말합니다. 가령 우리는 소프트웨어를 개발할 때 서로 기능을 분리하기 위해 함수를 사용하는데, 함수끼리 통신을 위해서 보내고 받는 데이터들을 정의합니다. 이를 우리는 파라미터라고 합니다. 그런데, 마이크로서비스는 어떨까요? 서로 프로세스도 다르고 인스턴스도 다른 상황에서 각 서비스끼리 통신하려면 메시지를 주고 받을 수 있어야 합니다. 이를 위해 우리는 메시지 큐를 ..