InfluxDB에서 자주 사용되는 용어를 정리한다. Aggregation InfluxQL(InfluxDB Query Language)의 함수 중 하나로, 포인트 셋 전체에 걸쳐 집계된 값을 반환. Batch 데이터 포인트들의 집합. 포인트들의 배치는 write endpoints에 대한 단일 HTTP 요청에 의해 데이터베이스에 제출된다. InfluxDB API를 사용하여 데이터를 저장할 때 HTTP 오버헤드를 줄이면 성능이 대폭 향상될 수 있다. 배치의 크기가 더 작거나 커도 InfluxDB는 잘 동작하겠지만, 배치의 크기는 5000~10000 포인트로 권장하고 있다. Bucket 버킷은 시계열 데이터가 저장되는 위치이다. Continuous Query (CQ) CQ는 데이터베이스 내에서 자동적이며 주기적..
자바의 예외는 크게 Error, Checked Exception, Unchecked Exception 세 가지로 분류된다. Error 에러는 시스템에 비정상적인 상황이 생길 경우 발생한다. 시스템 레벨에서 발생하는 오류이기 때문에 개발자가 예측하기 어렵고 처리할 수도 없다. 대표적인 에러로는 OutOfMemory, StackOverFlow 등이 있다. Exception 예외(Exception)는 개발자가 만든 어플리케이션에서 잘못된 상황이 발생했을 경우를 의미한다. 예외는 프로그램에 오류이기 때문에 복구가 가능한 수준이며 예외에 대한 예방 또한 가능하다. Checked Exception Unchecked Exception 처리 여부 반드시 예외를 처리해야 함 명시적인 처리를 강제하지 않음 확인 시점 Co..
이 글의 정보는 책을 바탕으로 작성되었습니다. 카프카 기본 개념과 구조 카프카를 구성하는 주요 요소 주키퍼 카프카의 메타데이터 관리 및 브로커의 헬스 체크를 담당한다. 카프카 또는 카프카 클러스터 여러 대의 브로커를 구성한 클러스터를 의미한다. 브로커 카프카 어플리케이션이 설치된 서버 또는 노드를 말한다. 프로듀서 카프카로 메시지를 보내는 역할의 클라이언트. 컨슈머 카프카에서 메시지를 꺼내가는 역할의 클라이언트. 토픽 카프카는 메시지 피드들을 토픽으로 구분하고, 각 토픽의 이름은 카프카 내에서 고유하다. 파티션 병렬 처리 및 고성능을 얻기 위해 하나의 토픽을 여러 개로 나눈 것 세그먼트 프로듀서가 전송한 실제 메시지가 브로커의 로컬 디스크에 저장되는 파일을 말한다. 메시지 또는 레코드 프로듀서가 브로커로..
이 글의 정보는 책을 바탕으로 작성되었습니다. 카프카 개요 장점 비동기 방식 높은 처리량 HTTP 기반이여도 카프카로 이벤트가 처리되는 응답시간은 ms 단위 순서 보장 적어도 한 번 전송 방식 멱등성으로 데이터 변화 없이 아키텍처를 단순하게 하고 처리량을 높인다. 자연스러운 백프레셔 핸들링 강력한 파티셔닝 카프카의 파티셔닝은 논리적으로 토픽을 여러 개로 나눌 수 있다. 각 파티션들을 다른 파티션들과 관계없이 처리가 가능하므로 효과적인 수평 확장이 가능하다.특징카프카는 다른 MQ 시스템들보다 성능이 월등하다. 전통적인 래빗MQ와 비교했을 때, 응답 속도는 래빗MQ가 가장 빠르지만, 처리량과 응답 속도를 같이 비교하면 카프카가 독보적인 모습을 보인다. 높은 처리량과 낮은 지연시간 높은 확장성 카프카를 최초 ..