3개의 카프카 서버(브로커 서버)를 띄었다면, 이것을 한개의 클러스터로 묶어준다. 보통 주키퍼도 3대 이상 띄우지만 테스트를 위해 최소한의 주키퍼만 사용하였다. 주키퍼 설명은 이전글을 참고 https://soobysu.tistory.com/96 [Kafka] Zookeeper 란? Zookeeper 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트로 직접 어플리케이션 작업을 조율하는 것을 쉽게 개발할 수 있도록 도와주는 도구이다. API를 이용해 동기화나 마스터 선출 등의 soobysu.tistory.com config/zoo.cfg #주키퍼 접속 docker exec -it zookeeper-1 /bin/bash #주키퍼 뒤 숫자는 버전마다 상이할 수 있음 cd /opt/zookeeper-3.4.13..
이전 글에서 kafka VM 생성, 접속 후 kafka Vm생성하기 [NCP] Ncp kafka VM 생성 Cloud Data Streaming Service kafka Producer VM, Consumer VM Sever를 둘다 생성 해주었다면 ssh접속하여 터미널을 실행해준다. Java 설치 다음 명령어를 입력하여 Java를 설치 apt-get install openjdk-17-jdk -y Kafka 설치 #홈 soobysu.tistory.com 위 VM생성 글에서 Broker노드 정보에서 PlainText 주소를 복사해서 위에 broker.list에 넣어준다. cd /home/kafka_2.12-2.4.0 # topic list 출력하기 # [broker.list]에 앞에서 확인했던 브로커 노드 ..
Cloud Data Streaming Service kafka Producer VM, Consumer VM Sever를 둘다 생성 해주었다면 ssh접속하여 터미널을 실행해준다. Java 설치 다음 명령어를 입력하여 Java를 설치 apt-get install openjdk-17-jdk -y Kafka 설치 #홈 디렉토리로 이동 cd /home #카프카 설치 wget https://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-2.4.0.tgz # 압축을 풀어준다 tar -zxvf kafka_2.12-2.4.0.tgz 네이버 클라우드 플랫폼 콘솔에서 Services > Big Data & Analytics > Cloud Data Streaming Service > Cl..
병렬 처리(Parallel Operation)란 멀티 코어 환경에서 하나의 작업을 분할해 각각의 코어가 병렬적으로 처리하는 것이다. 동시성(Concurrency) 멀티 작업을 위해 멀티 스레드가 번갈아가며 실행하는 성질이다. 싱글 코어 CPU를 이용한 멀티 작업은 병렬적으로 실행되는 것처럼 보이지만 실제로는 동시성 작업이다. 병렬성(Parallelism) 병렬성은 멀티 작업을 위해 멀티 코어를 이용해 동시에 실행하는 성질이다. 예제1) 해당 예제는 리스트에 10개의 요소를 더하고 , 1초의 대기시간을 주는 예제이다. 일반 반복문 public class SequentialProcessingExample { public static void main(String[] args) { List numbers = ..
1. 간결하고 가독성이 좋은 코드: 람다를 사용해서 가독성이 좋아진다. 2. 병렬 처리 가능: 병렬 스트림을 사용하면 멀티코어 프로세서의 장점을 활용하여 빠른 속도로 대량의 데이터를 처리할 수 있다. 3. 지연 연산(lazy evaluation): 필요한 데이터만 처리하고 나머지 데이터는 처리하지 않는다는 의미 - 성능을 향상 4. 강력한 기능: 맵(map), 필터(filter), 정렬(sort), 그룹화(grouping) 등 다양한 연산을 스트림을 통해 수행할 수 있습니다. 지연 연산(lazy evaluation) 불필요한 연산을 안한다. 아래의 코드는 1~10까지의 정수를 갖는 List에서 6보다 작고, 짝수인 요소를 찾아 10배 시킨 리스트를 출력하는 코드입니다. final List list = A..
topic 생성하기docker exec -it 카프카컨테이너이름 kafka-topics --create --topic 토픽이름 --bootstrap-server kafka:9092 --replication-factor 1 --partitions 1해당 메세지를 입력했는데 Log4j canot read 오류가 뜬다면 참고 🛠️링크 kafka-topics:카프카 토픽에 대한 명령을 실행한다.--create:토픽을 생성하겠다는 의미이다.--topic :생성할 토픽 이름을 지정한다.--bootstrap-server service:portbootstrap-server는 kafak 브로커 서비스를 나타낸다. 이때 서비스:포트 로 지정하여 접근할 수 있다.--replication-factor 1:복제 계수를 지정한..
도커 환경에서 카프카와 주키퍼도커 환경에서 카프카와 주키퍼 구축시에 사용할 이미지를 먼저 선택해야한다. 도커 명령어를 통해 주키퍼와 카프카에 관련된 이미지를 검색한 결과, 주키퍼는 공식 이미지가 있지만, 카프카는 공식 이미지가 없음을 확인 할 수 있다.카프카 이미지 특징1. dockerkafka/kafkaDocker hub 바로가기kafka외에도 zookeeper, kafka-manager 솔루션 제공데이터 플랫폼 최강자 책 참고 가능. (2페이지정도 분량이긴 하지만..)4년전에 업데이트 되어, 최신 docker-compose version은 참고가 어려움.2. bitnami/kafkaDocker hub 바로가기bitnami 회사에서 지원kafka, zookeeper도 한꺼번에 사용가능. 최신 릴리즈 빠..
카프카를 이해하기 위해서는 메시지 큐와 MOM을 먼저 알아야한다. 메시지 큐는 분산화된 환경에서 발신자와 수신자 사이에서 메시지를 전송하고, 수신하는 기술을 의미한다. MOM(message oriented middleware)를 통해서 구현된다. 메시지큐 메시지 큐를 사용하면 발신자와 수신자가 서로를 직접 알 필요 없으므로 느슨한 결합(decoupling)을 만들어낼 수 있다. 발신자, 수신자 서로가 서로에게 의존하지 않으므로, 각자는 독립적으로 확장(scalable)될 수 있다. N:1:M 의 형태로 발신자, 수신자 사이에 메시지 큐가 메시지를 중개하기 때문이다. 또한 수신자 서비스가 당장 장애 상황이더라도 발행된 메시지는 모두 메시지 큐에 남아있으므로 결국 발신자가 발생한 모든 메시지는 소비자 서비스..