Kafka 4

로그 프레임워크 #1 - 자바 로그 프레임웍 종류

로그 시스템 #1 - 자바 로그 프레임웍 조대협 (http://bcho.tistory.com)로그 시스템 로그 시스템은 소프트웨어의 이벤트를 기록 함으로써, 소프트웨어 동작 상태를 파악하고 문제가 발생했을때 이 동작 파악을 통해서 소프트웨어의 문제를 찾아내고 해결하기 위해서 디자인 되었다. 주로 로그 파일이라는 형태로 하나의 파일에 이벤트들을 기록하였다. 그러나 소프트웨어 스택이 OS, 미들웨어, 사용자 애플리케이션 (자바나 파이썬등으로 구현된 애플리케이션)으로 점점 다중화되고 시스템이 대형화 되면서 한대가 아니라 여러대의 서버에 로그를 기록하고 또한 마이크로 서비스 아키텍처로 인하여 서버 컴포넌트가 분산됨에 따라서 로그를 수집해야할 포인트가 많아지게 되었다. 이로 인해서 로그 시스템이 분산 환경을 지원..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2-node.js 샘플

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2 node.js를 통하여 메세지를 보내고 받기 조대협 (http://bcho.tistory.com) node.js에서 메세지 보내고 받기 이번 글에서는 node.js를 이용하여 실제로 pub/sub에 메세지를 보내고 받도록 해보자 키 파일 준비 하기Pub/Sub에 접속하기 위해서는 보안 인증을 위해서 키 파일이 필요하다.키 파일은 구글 클라우드 콘솔에서, API manager 메뉴로 들어가서 Credential 부분에서 Create Credential을 선택하면 아래와 같은 화면이 나온다.다음으로, 메뉴에서 Service account key를 선택하여 키를 생성한다. 키가 생성이 되면 json 파일로 다운로드가 된다.여기서는 편의상 키 파..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #1

구글 클라우드의 대용량 메세지 큐 Pub/Sub 소개조대협 (http://bcho.tistory.com) 구글 클라우드의 Pub/Sub 은 클라우드 기반의 대용량 메세지 큐이다. 흔히들 사용하는 RabbitMQ, JMS나 Kafka의 클라우드 버전으로 보면 된다. Rabbit MQ와 같은 설치형 큐가 작은 메세지에 대해서 세심한 컨트롤을 제공한다고 하면, Kafka나 Pub/Sub은 대용량 스케일의 메세지를 처리하기 위해서 설계 되었고, 자잘한 기능보다는 용량에 목적을 둔다.그중에서 Pub/Sub은 클라우드 기반의 서비스로 비동기 메세징이 필요한 기능을 매니지드 서비스 형태로 제공함으로써, 별도의 설치나 운영이 필요 없이 손쉽게, 사용이 가능하다.보통 특정 클라우드 벤더의 매지니드 솔루션은 Lock in..

분산 대용량 큐-Apache Kafka에 대한 검토

분산 대용량 큐-Apache Kafka에 대한 검토 내용 정리 실시간 빅데이타 분석 아키텍쳐를 검토하다가 아파치 스톰을 보다보니, 실시간 데이타 스트림은 큐를 이용해서 수집하는 경우가 많은데, 데이타의 양이 많다 보니 기존의 큐 솔루션으로는 한계가 있어서 분산 대용량 큐로 아파치 카프카(Kafka)가 많이 언급된다.그래서, 아키텍쳐를 대략 보고, 실효성에 대해서 고민을 해봤는데, 큐의 기능은 기존의 JMS나 AMQP 기반의 RabbitMQ(데이타 기반 라우팅,페데레이션 기능등)등에 비해서는 많이 부족하지만 대용량 메세지를 지원할 수 있는 것이 가장 큰 특징이다. 특히 분산 환경에서 용량 뿐 아니라, 복사본을 다른 노드에 저장함으로써 노드 장애에 대한 장애 대응 성을 가지고 있기 때문에 용량에는 확실하게 ..