클라우드 컴퓨팅 & NoSQL 384

빠르게 훝어 보는 node.js - #2 설치와 개발환경 구축

빠르게 훝어보는 node.js#2 - 설치와 개발환경 구축조대협 (http://bcho.tistory.comNode.js 설치하고 개발환경 설정하기다운로드 하기http://www.nodejs.org 페이지에서 install 버튼을 누르면 OS에 맞는 인스톨러를 다운로드 해준다. 다음으로 installer를 실행한다. 설치가 되었으면, 설치된 디렉토리를 PATH에 추가한다. set PATH=%PATH%;c:\dev\was\nodejs자아 이제 node.js가 설치되었는지 확인하자. node.js는 대화형 cli를 제공한다. 설치를 끝냈으면 이제 간단한 웹서버를 만들어보자var http = require('http');http.createServer(function(request, response) {res..

JBoss Infinispan 온라인 웨비나 내용 노트

전준식 이사님의 Infinispan 강의 내용 요약 정리 In Memory Data Grid - Infinispan(JBoss Data Grid) Webinar from Opennaru on Vimeo. [Cosistent hashing]- Hash Ring 형태로 저장- 서버가 늘어나고 줄어드는 것에 대해서 대응이 가능한 구조1번은 0번부터2번은 27번부터3번은 50번부터의 해쉬 값을 저장함. 장애 대응예를 들어, 2번이 죽으면 1번이 0~49번까지 보관함복제는, 다른 서버에다가도 값을 복제 해놓음. 이 알고리즘을 이용하면, memcached 등을 이용해서도 고가용 서버를 만들 수 있음 Segment(Replica,Virtual node)- Hash ring에 가상의 노드를 만들어서, 특정 서버에 값이..

빠르게 훝어보는 node.js #1 - node.js 소개 및 내부구조

빠르게 훝어보는 node.js#1 – node.js의 소개와 내부 구조 조대협 (http://bcho.tistory.com) 요즘 들어서 새로운 기술에 대한 인식도 많이 떨어지고, 공부하는 것도 게을러 져서, 어쩌다 보니 우연한 기회에 스터디를 하게 되었습다. 스터디 주제는 팀원들이 골랐기 때문에 자연히 따라가게 되었는데, 주제는 무려 node.js. 때 맞침 vert.x를 보고 있었기 때문에, 유사 솔루션을 보는 것도 괜찮겠다고 해서 스터디를 시작했는데, 몇주가 지난후에 지금까지 스터디를 하면서 node.js에 대한 내용을 가볍게 정리해보고자 한다. node.JS에 대한 소개node.js는 single thread 기반으로 동작하는 고성능의 비동기 IO (Async / Non-blocking IO)를 ..

Node.js에서 주로 사용되는 모듈

Node.js는 일종의 개발 플랫폼이자 WAS같은 미들웨어이다.이를 사용하기 위해서는 MVC 프레임웍에서 부터, 빌드, 데이타 베이스등 다양한 관련 컴포넌트들이 필요한데, 에코 시스템이 너무 커서 주로 사용되는 모듈등을 찾기가 힘들다.https://nodejsmodules.org/tags/build 를 보면, 분야별 인기있는 모듈을 볼 수 있고아래는 일반적인 애플리케이션을 개발하는데 필요한 모듈을 정리하였다. Category Module Programming framework Async MVC Framework Express Template Engine EJS Logging Winstone Testing Mocha, nodeunit Authentication Passport Build script Gru..

node.js의 장단점에 대해서

요 몇주간, node.js에 대해서 공부를 해오고 있습니다. 그간 공부해온 내용과, 기존에 node.js를 사용하셨던 분들과의 토론을 기반으로 node.js에 대한 장단점을 간략하게 정리합니다. Node.JS에 대해서.Node.js는 구글의 크롬 V8 자바스크립트 엔진을 기반으로 한, 고성능 네트워크 서버이다.Single Thread 기반의 Event Loop를 기반으로 하고 있으며, File, Network 등에 대해서 비동기 IO 처리를 하는 서버 미들웨어이다.근래에 들어서 다시금 node.js 가 많은 주목을 받고 있는데, Paypal이나 Groupon과 같은 굴지의 서비스 기업들이 내부 서버 플랫폼을 node.js로 전환하는 것이 계기가 되고 있다.Node.js의 장점Node.js는 일반적으로 성..

Node.JS와 Vert.x 비교

Node.js vs Vert.x 비교 간단하게 정리해본 Node.JS와 Vert.x의 장단점 비교,두 서버 모두 C10K 문제를 해결 하기 위한 Single Thread 기반의 고성능 비동기 서버이다.C10K 문제는 대용량 (10,000개이상의 동시 커넥션을)처리 하기 위한 문제로 전통적인 Tomcat등의 WAS에서는 이 문제를 해결할 수 없다 들어온 request는 무조건 큐잉이 되었다가 뒷단의 멀티 쓰레드에 의해서 작업이 처리되는데 이 멀티 쓰레드의 수 만큼만 동시 사용자를 처리할 수 있는 개념이다.반대로 이 두 서버들은 일단 Connection이 연결되면, 연결된 socket들을 물고 있다가, Single Thread의 Event Loop가 고속으로 돌면서, socket에 들어온 메세지들을 처리하고..

CouchDB 강의 내용 정리

CouchDB Overview 어제 SSAG 에서 정명훈 이사가 강의한 CouchDB에 대한 내용 정리 CouchDB 일반 특징CouchDB Apache 프로젝트로 MongoDB와 같은 Document DB의 형태를 띄며, NOSQL CAP이론중 AP 에 해당 한다. (장애에 매우 강하다.) 단 Consistency는 Eventual Consistency를 제공한다. (버전으로 하는 방식), Eventual Consistency 모델이기 때문에 Locking을 사용하지 않는다. (Optimistic Lock) 유사 프로젝트유사 프로젝트로 CouchBase와 BigCouch, Cloudant등이 있다.CouchBase는 memcached와 CouchDB를 합쳐놓은 제품으로, 앞단에 캐쉬가 있어서 성능이 매..

Single Threaded Model이라서 더 빠르다? No.!!

Single Threaded Model이라서 더 빠르다? No.!! Vert.x나 Node.JS와 같은 Single Threaded 모델의 서버들이 내세우는 장점이, Single Thread Model이기 때문에, Context Switching이 없고, 이로 인해서 성능이 더 빠르다. 라는 논리인데, 사실 DB나 File IO가 있을 경우, 뒷단의 Thread Pool에 request & call back 형식으로 처리를 하고 있기 때문에, 이 경우에는 Single Thread Model이 아니라 Multi Thread Model이 되고, 이 Thread Pool들의 Thread로 인한 Context Switching이 발생하게 된다. 이런 IO Call이 없는 경우 (Thread Pool로 작업을 보..

MQTT 서버 간단 공부 노트

MQTT 스터디 노트스터디 노트- IBM에서 만듬- FB 메신져가 이걸 사용. 국내 통신사 PUSH 서버도 이걸 사용함- 일단 FB가 쓰니, 동남아권 Telco에서 패킷 걸리는 문제는 없을듯- Qos 0,1,2로 해서, 2 의 경우 message delivery를 gurantee함- 저전력!! 이게 중요.- XMPP에 비해서 훨씬 경량. (XMPP는 XML, MQTT는 byte로 보내는데, 2바이트부터 시작)- MQTT 서버를 라즈베리와 같은 임베디드 서버에도 넣을 수 있음. IOT용!! 즉 Things가 서버가 될 수 있다!!- 대부분 사용자 인증만 제공 (user id/password 방식) 이것도 대부분 서버들이 파일에 저장한다. (IDM이나 KEY 시스템과 연계 필요)- TLS/SSL은 지원. X..