튜토리얼 139

Apache Storm을 이용한 실시간 데이타 처리 #5 –Storm의 병렬/분산 처리

대충보는 Storm #5-Apache Storm 병렬 분산 처리 이해하기 조대협 (http://bcho.tistory.com) Storm에 있는 Spout과 Bolt들은 여러개의 머신에서 어떻게 나눠서 처리될까? Storm 클러스터는 여러대의 분산된 서버에서 운용되기 때문에, 당연히 Spout과 Bolt도 나눠서 처리된다 그렇다면 이런 Storm의 병렬 처리 구조는 어떻게 되는 것일까?이 글에서는 Spout과 Bolt를 병렬로 처리하는 Storm의 구조에 대해서 알아보도록 한다.Storm의 병렬 처리를 이해하기 위한 개념Storm의 병렬 처리를 이해하기 위해서는 몇가지 개념을 정리해야 한다. Node,Worker,Exectutor,Task 이 네 가지 개념을 이해해야 한다. NodeNode는 물리적인 서..

Apache Storm을 이용한 실시간 데이타 처리 #4 –소개와 기본 개념

대충보는 Storm #4-Apache Storm 특징과 기본 개념 조대협 (http://bcho.tistory.com) 지금까지 Storm에 대해서 이해하기 위해서, 실시간 스트리밍 서비스의 개념에 대해서 알아보고 간단한 HelloStorm 애플리케이션을 제작해서, 싱글 클러스터 노드에 배포해봤다. 대략 실시간 스트리밍이 무엇이고, Storm을 이용해서 어떻게 개발하는지에 대해서는 어느정도 이해를 했을 것이라고 생각한다.그러면 지금까지의 경험을 조금 더 체졔적으로 정리해서 Storm에 대해서 이해해보도록 하자. 이번에는 Storm에 대한 개념과 아키텍쳐 구조에 대해서 알아보겠다. Storm의 특징Storm을 실시간 스트리밍을 처리하기 위한 서버이자 프레임웍이다. 그렇다면 이 Storm이 다른 스트리밍 처..

Apache Storm을 이용한 실시간 데이타 처리 #3 -Storm 클러스터 설정과 배포

대충보는 Storm #3-Storm 싱글 클러스터 노드 설치 및 배포조대협(http://bcho.tistory.com) 지난번에는 간략하게, Storm을 이용한 HelloStorm 애플리케이션을 개발용 클러스터인 Local Cluster에서 구동해봤다. 이번에는 운영용 클러스터를 설정하고, 이 운영 클러스터에 지난번에 작성한 HelloStorm 토폴리지를 배포해보도록 한다. Storm 클러스터의 기본 구조Storm 클러스터를 기동하기 전에, 클러스터가 어떤 노드들로 구성이 되는지 먼저 알아보도록 하자 Storm 클러스터는 기본적으로 아래와 같은 3가지 구성요소로 구성이 되어 있다.먼저 주요 노드인 Nimbus와 Supervior 노드에 대해서 알아보자, Nimbus와 Supervisor 노드는 각각 하나..

Apache Storm을 이용한 실시간 데이타 처리 #2-Storm 설치와 HelloStorm 작성하기

대충보는 Storm #2-Storm 설치와 HelloStorm 작성하기조대협(http://bcho.tistory.com) Apache Storm과 Spark앞서 데이타 스트리밍 처리에 대해서 설명했다. 스트리밍 처리에 대표적인 오픈소스 프레임웍으로는 Apache Storm과 Apache Spark이 있는데ㅔ, Spark은 최근에 나온 것으로 스트리밍 처리뿐 만 아니라 조금 더 보편적인 분산 컴퓨팅을 지원하는데, Storm의 경우 나온지도 오래되었고 무엇보다 안정성 부분에서 아직까지는 Spark보다 우위에 있기 때문에, Storm을 중심으로 설명하고자 한다HelloStormStorm의 내부 구조 개념등을 설명하기에 앞서, 일단 깔아서 코드부터 돌려보고 개념을 잡아보자 HelloStorm 구조HelloWor..

REST API의 이해와 설계-#3 API 보안

REST API의 이해와 설계 #3 API 보안 REST API 보안 API 보안에 대해서는 백번,천번을 강조해도 과함이 없다. 근래에 대부분의 서비스 시스템들은 API를 기반으로 통신을 한다.앱과 서버간의 통신 또는 자바스크립트 웹 클라이언트 와 서버간의 통신등 대부분의 통신이 이 API들을 이용해서 이루어지기 때문에, 한번 보안이 뚫려 버리면 개인 정보가 탈취되는 것 뿐만 아니라 많은 큰 문제를 야기할 수 있다. REST API 보안 관점API는 보안 포인트에 따라서 여러가지 보안 관점이 존재하는데, 크게 아래와 같이 5가지 정도로 볼 수 있다. 인증 (Authentication)인증은 누가 서비스를 사용하는지를 확인하는 절차이다.쉽게 생각하면 웹 사이트에 사용자 아이디와 비밀 번호를 넣어서, 사용자..

REST API 이해와 설계 - #2 API 설계 가이드

REST API 이해와 설계 #2 API 설계 가이드 REST API 디자인 가이드그러면 REST의 특성을 이해하고 나쁜 안티패턴을 회피해서 REST API 디자인은 어떻게 해야 할까? 짧지만 여기에 몇가지 디자인 방식에 대해서 소개 한다. REST URI는 심플하고 직관적으로 만들자REST API를 URI만 보고도, 직관적으로 이해할 수 있어야 한다 URL을 길게 만드는것 보다, 최대 2 depth 정도로 간단하게 만드는 것이 이해하기 편하다./dogs/dogs/1234URI에 리소스명은 동사보다는 명사를 사용한다.REST API는 리소스에 대해서 행동을 정의하는 형태를 사용한다. 예를 들어서POST /dogs는 /dogs라는 리소스를 생성하라는 의미로, URL은 HTTP Method에 의해 CRUD ..

Ruby 개발환경 설정하기 (윈도우7에서)

Windows 7에서 Ruby 개발환경 설정하기 MongoDB in Action 몽고디비 인 액션저자카일 뱅커 지음출판사제이펍 | 2012-04-20 출간카테고리컴퓨터/IT책소개MongoDB나 NoSQL에 경험 없는 개발자를 위한 쉽고 실전... 이책을 공부하다보니, 예제가 ruby라서, 예상치 않게 Ruby를 살펴보고 있는데, 윈도우즈7에서 Ruby 개발 환경 설정하는 것이 쉽지 않아서 설정 방법을 요약하고자한다. 1. Ruby Install 하기http://rubyinstaller.org/downloads/ 에서 Ruby Install 바이너리를 받아서 설치한다. 2.2.0-p481(x64)여기까지는 보통 문제 없이 잘된다. 향후에 모듈을 설치하려면 보통 컴파일 에러가 나오면서 잘 안되는 경우가 많다..

루비 기본 문법 정리

Ruby 언어 기본 문법 루비언어의 특성을 자바나 다른 언어에 비해서 다른 부분만 요약 정리 Class,Object - 클래스 변수는 @@를 사용해서 정의 @@name = 'hello'클래스 메서드는 클래스로만 호출 가능. object에서는 호출 불가클래스 변수나 메서드에 대해서는 http://dimdim.tistory.com/entry/Ruby-%ED%81%B4%EB%9E%98%EC%8A%A4-%EA%B0%9D%EC%B2%B4-%EB%B3%80%EC%88%98 보고 다시 정리 필요 Object- 생성 : New를 이용해서 class로 부터 생성 Class명.new 로 생성. 예 object=MyClass.new - 객체 변수는 @를 사용해서 정의 예 @hello = hello- Putter와 Sette..