분류 전체보기 (74) 썸네일형 리스트형 [빅데이터] 빅데이터 시작하기 빅데이터 일단 데이터가 있고, 나중에 테이블을 설계하는 것이 빅데이터다. 오라클 공식 홈페이지에서는 3V를 말하지만 책에서 말하는 빅데이터는 위와 같다. 책의 이름이 빅데이터를 지탱하는 기술이다. 당연히 빅데이터를 취급하는데 여기에는 두가지 문제가 있는데 이 책에서는 2번에 집중한다. 1. 데이터의 분석 방법을 모른다. 2. 데이터 처리에 수고와 시간이 걸린다. 용어 정리 테이블의 칼럼 명과 데이터형, 테이블 간의 관계 등을 스키마(schema)라고 하며, 스키마가 명확하게 정의된 데이터를 구조화 데이터(structured data)라고 한다. 하지만 빅데이터는 항상 구조화된 데이터만 있는 것이 아니라, 자연어로 작성된 테스트 데이터와 이미지, 동영상 등의 데이터도 포함한다. 이를 비구조화데이터(unst.. [MQ] 카프카 커넥트 (Kafka Connect) 카프카는 프로듀서와 컨슈머 클라이언트를 통해 메시지 파이프라인을 구성할 수 있습니다. 하지만 파이프라인 구성을 위해 매번 프로듀서와 컨슈머를 개발하는 것은 쉽지 않습니다. 이번 글은 카프카와 외부 시스템 간의 파이프라인 구성을 더욱 쉽고 간편하게 해주는 카프카 커넥트(Kafka Connect)에 대해 살펴봅니다. Kafka Connect 카프카는 아키텍처 중심에서 다양한 외부 시스템과 메시지 파이프라인을 구성합니다. 그리고 일반적으로 메시지를 송수신하기 위해 외부 시스템에는 프로듀서, 컨슈머가 구현됩니다. 이때, 외부 시스템의 수가 많아지면 어떻게 될까요? 클라이언트는 그 외부 시스템에 맞춰 구현되고 관리되어야 합니다. 즉, 개발 비용이 필요합니다. 카프카 커넥트는 이러한 개발 비용을 없애고, 쉽고 간단.. [MQ] 스키마 레지스트리 (Schema Registry) 카프카는 메시지를 보내는 프로듀서와 메시지를 복사해오는 컨슈머, 그리고 프로듀서와 컨슈머 사이에서 메시지를 중계하는 브로커로 구성됩니다. 이러한 카프카의 구조는 메시지의 송신자와 수신자 사이의 직접적인 관계를 끊음으로써 구조적인 결합도를 낮추는 장점이 있습니다. 하지만, 반대로 직접적인 관계가 끊어짐에 따라 발생하는 이슈도 있습니다. 이번 글은 카프카에서 발생할 수 있는 운영 이슈와 그 이슈를 해결할 수 있는 스키마 레지스트리(Schema Registry)에 관하여 정리합니다. 스키마 레지스트리 (Schema Registry) 스키마 레지스트리는 카프카 클라이언트 사이에서 메시지의 스키마를 저장, 관리하는 웹 어플리케이션입니다. 그리고 스키마 레지스트리는 많은 카프카 개발자와 운영자들이 카프카 운영에 필.. [인프라] 미들웨어, 개념 알아보기 미들웨어란? IT기업에 입사를 하고 처음엔 미들웨어라는 용어 자체가 생소했습니다. 더군다나 구글링을 통해 이론적으로만 봤던 미들웨어는 도저히 이해할 수 없었습니다. OS,DBMS는 각각의 역할이 있음을 분명히 느꼈지만 미들웨어라는 용어는 너무나 광범위한 분야였기 때문입니다. 먼저 산전적 정의를 잠깐 살펴보자면, 미들웨어는 양 쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해 주는 소프트웨어를 말한다. 3계층 클라이언트/ 서버 구조에서 미들웨어가 존재한다. 웹 브라우저에서 데이터베이스로부터 데이터를 저장하거나 읽어올 수 있게 중간에 미들웨어가 존재하게 된다. 광범위.. [MQ] 카프카 컨슈머 (Kafka Consumer) 카프카의 메시지 파이프라인은 프로듀서에서 시작해서 브로커를 통해 컨슈머로 끝나게 됩니다. 이번 글은 카프카 메시지 파이프라인의 마지막 부분인 컨슈머에 관해 전반적으로 설명합니다. 카프카 컨슈머 컨슈머는 컨슈머 API와 그것으로 구성된 애플리케이션을 말합니다. 일반적으로 컨슈머가 토픽을 구독(Subscribe) 혹은 읽는다(Read)고 하는데, 이는 컨슈머가 토픽 파티션에 저장된 메시지들을 가져오는것을 말합니다. 카프카 컨슈머의 다음 3가지 특징을 통해 더욱 효율적이고 유연한 메시지 구독 기능을 제공합니다. Polling 구조 단일 토픽의 멀티 컨슈밍 컨슈머 그룹 polling 구조 일반적으로 다른 메시징 큐는 메시지 큐에서 메시지를 Push 합니다. 카프카 구성 요소로 예를 들면 브로커가 컨슈머로 메시지.. [MQ] Kafka 개발 : 큰 사이즈의 메시지를 발행-소비하는 방법에 관한 예제 (How to Pub-Sub the large size message like a image) 카프카는 메시지 발행-소비에 있어 한번에 요청하는 옹량을 정할 수 있습니다. 프로듀서의 경우 'max.request.size'로 단일 send 요청의 크기를 정하고, 컨슈머의 경우 'fetch.max.bytes'로 단일 fetch 요청의 최대 크기를 정할 수 있습니다. 만약 단일 메시지의 크기가 이 설정들보다 클 경우 메시지를 Pub-Sub 할 수 없습니다. 또한, 설정 값을 증가시켜 발행-소비를 가능하게 하더라도, 메시지 크기가 어느 정도에 이르면 성능이 하락하게 됩니다. 이때 우리는 메시지를 쪼개서 보내는 방법을 생각할 수 있습니다. 이번 글은 단일 요청에 대한 설정 보다 메시지 크기가 큰 경우, 메시지 내용을 쪼개서 보내는 방법에 관하여 작성된 예제 코드를 설명합니다. 예제 시나리오 예제 코드는 기.. [MQ] 카프카 브로커 (Kafka Broker) 카프카는 메시지를 생산하는 프로듀서와 소비하는 컨슈머, 그리고 그 사이에서 메시지를 저장, 전달하는 브로커(Broker)로 구성됩니다. 이번 글은 카프카의 중추인 브로커에 대해 전반적으로 설명합니다. 카프카 브로커 카프카 브로커는 일반적으로 '카프카'라고 불리는 시스템을 말합니다. 프로듀서와 컨슈머는 별도의 애플리케이션으로 구성되는 반면, 브로커는 카프카 자체이기 때문입니다. 따라서 '카프카를 구성한다' 혹은 '카프카를 통해 메시지를 전달한다'에서 카프카는 브로커를 의미합니다. 카프카 (브로커) 클러스터 구성 브로커는 한 대 이상의 노드로 클러스터를 구성할 수 있습니다. 하지만 현재 (2020.03.28 v2.4.1)는 브로커들로만 클러스터를 구성할 수 없습니다. 브로커의 여러 가지 메타 정보를 저장 관.. [MQ] 카프카 프로듀서 (Kafka Producer) 카프카는 메시지를 생산, 발송하는 프로듀서(Producer)와 메시지를 소비, 수신하는 컨슈머(Consumer), 그리고 프로듀서와 컨슈머 사이에서 메시지를 중개하는 브로커(Broker)로 구성됩니다. 이번 글은 메시지 흐름의 시작인 프로듀서에 대해 전반적으로 설명합니다. 카프카 프로듀서 프로듀서는 보통 카프카 프로듀서 API와 그것으로 구성된 애플리케이션을 말합니다. 그리고 프로듀서는 브로커에 특정 토픽(혹은 파티션 영역까지)을 지정하여 메시지를 전달하는 역할을 담당합니다. 프로듀서를 통해 전달되는 메시지의 구조는 다음과 같습니다. 토픽 (Topic) 토픽 중 특정 파티션 위치 (Partiotion) 메시지 생성 시간 (Timestamp) 메시지 키 (Key) 메시지 값 (Value) 프로듀서 구조와 .. 이전 1 2 3 4 5 6 7 8 ··· 10 다음