전체 글 308

Kafka Connect 플러그인 설치 방법

목차 [Kafka Connector 확인하기] Confluent Hub: https://www.confluent.io/hub/ Confluent Hub에는 사용가능한 Connector들을 확인할 수 있다. 사용하려는 connector를 검색한다. 라이센스 확인 Connector 별로 라이센스가 달라서 확인이 필요하다. Apache License, Confluent Community License: 무료이므로 사용상의 제약이 없다. Confluent Support: 유료 라이센스이므로 사용 전 확인이 필요하다. [설치하기] 플러그인을 설치하는 방법은 2가지가 있다. Confluent CLI를 통한 설치 zip파일을 내려받아 connector plugin Path에 직접 옮겨주기 Confluent CLI를 ..

Kafka/Connect 2023.04.22

Kafka Connect 구성요소

목차 [용어 정리] Connect: Connect가 공식명칭으로 카프카로 데이터를 전달하고 읽어오는 스트림 프레임워크를 지칭한다. connect는 connector(task) + transform + converter 형태로 구현된다. Connector: 데이터 스트리밍을 위한 상위 레벨의 추상화. 어디서 어디로 데이터를 내보내는가에 대한 정의 Worker: Connector와 Task가 실행되는 프로세스 Task: 실제로 외부 시스템에 데이터를 전달하기 위한 구현체 Converter: 데이터들을 Connector에서 변환하기 위해 사용하는 것. (Ex: Object → ByteArray) Transform: 각각의 메시지를 요구사항에 맞게 변환하는 단순 로직 Dead Letter Queue: Conne..

Kafka/Connect 2023.04.22

Performance Management

목차 [Client] Producer compression.type: lz4, zstd, gzip 등 제공. 헤더에 압축관련 정보를 함께 실어 전송하게 됨. Latency 최소화를 위한 Default Value batch.size: 16KB linger.ms: 0 buffer size: 32MB Throughput을 늘리고 싶을 때 고려할 만한 옵션 batch.size: 1000KB linger.ms: 100 buffer size: batch size * partition수 보다 크게 설정 Client 성능지표 io-wait-ratio: 이 값이 높다면 브로커에 문제가 있다고 판단 io-ratio: io가 많이 발생한다는 뜻 Producer: 메시지를 보내는 시간이 길다. -> batch size를 늘리..

Kafka 2023.04.16

Broker 내부 구조

Socker Receive Buffer: 네트워크 스레드로 가기전 머무는 버퍼. OS수준에서 제공 Network Thread: 네트워크 관련 처리를 하는 스레드 Request Queue: 네트워크 스레드의 요청이 저장되며 기본적으로 500개의 메시지가 저장된다 I/O Thread: 실제 메시지 처리 스레드. 실제 디스크에 쓰는것이 아니고 Page Cache에 쓴다. Purgatory Area: Page Cache에 쓴 후 잠시 대기하는 곳. 복제가 될 때 까지 대기한다. Response Queue: 처리가 된 메시지들이 머무는 곳. 네트워크 스레드를 거져 Socker Send Buffer로 결과값을 돌려주게 된다. 성능개선 포인트 Socker Buffer Size: 배치 사이즈를 고려하여 튜닝 Threa..

Kafka/Broker 2023.04.16

Ansible 설치하기

목차 Installing Ansible — Ansible Documentation If you are testing new features, fixing bugs, or otherwise working with the development team on changes to the core code, you can install and run the source from GitHub. Note You should only install and run the devel branch if you are modifying ansible-cor docs.ansible.com 위 가이드 문서를 보고 진행한 내용. 기본적으로 Python 설치도 되어 있어야 한다. apt로 설치하면 2.9 이하로 설치되니 그 방식으로..

이것저것 2023.04.15

nGrinder

목차 [Github] https://github.com/naver/ngrinder [Windows에 Controller 구성하기] https://darozzang.tistory.com/entry/window%EC%97%90%EC%84%9C-nGrinder-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89 [전제조건] java 1.8이상 설치되어있는 것이 좋음 아래 명령어로 확인 [Controller 설치] https://github.com/naver/ngrinder/releases경로에서 war 파일 다운로드 Window에서 cmd창 켜고 다운받은 경로에서 아래 커맨드로 실행 $ java -XX:MaxPermSize=200m -jar ngrinder-controller..

이것저것 2023.04.08

JMeter

목차 [Apache JMeter] 웹 성능을 측정하기 위해 대중적으로 가장 많이 사용한다고 한다. Apache 재단에서 제공하는 오픈소스. 다양한 플러그인 제공 Master - Slave 개념으로 대량 부하 테스트도 가능. 아래 블로그 참조하여 기본적인 세팅 진행해봄 https://velog.io/@leejh9022/Jmeter-%EC%84%A4%EC%B9%98-Jmeter-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%B6%80%ED%95%98%ED%85%8C%EC%8A%A4%ED%8A%B8 [전제조건] JDK 8이상 설치 Windows 환경에서는 GUI 기반으로 구동가능 (.bat 파일제공) [설치] https://jmeter.apache.org/download_jmeter.cgi bina..

이것저것 2023.04.01