node.js Vert.x가 Socket.io 보다 빠르네. updated 2012.09.06 이번엔 node.js를 클러스터 모듈을 이용해서 실행해봤다. 확실히 빨라졌다. 초당 요청처리량 vert.x와 거의 비슷하다. 단지 차이가 있다면 top으로 지켜볼 때 node.js는 프로세스 ID가 가상 코어 갯수만큼 뜬다. 즉 16개가 뜨고 평균 CPU 사용량은 40% 정도다. 하지만 Vert.x는 프로세스 ID는 한개만 뜬다. 그리고 CPU
vert.x [vert.x] Hello Vert.x Module Vert.x는 Verticle이라는 클래스를 상속한 .Java 파일을 실행할 수도 있고 프로젝트를 모듈화한 모듈을 실행할 수도 있습니다. http://vertx.io/manual.html#interacting-with-vertx 자세한 내용은 위 링크를 참조하시구요. .java를 실행하는 예제는 쉽기 때문에 별다른 설명은 필요없을 것 같고, 저는 모듈을 실행하는 방법을 설명하겠습니다. 그러려면 모듈 프로젝트를 만들어야 하는게 이게 좀 일이죠.
vert.x [vert.x] 설치하기 http://vertx.io/install.html 링크에 보시면 자세히 나와있지만, 간략하게 설명드립니다. Vert.x는 자바7을 사용하기 때문에 우선 JDK7을 설치해야 합니다. 자바 설치는 다들 아실테니 패스. 모르시면 구글링. http://vertx.io/downloads.html 여기 들어가시면 가장 최신 버전인 1.2.3.final 버전을 받을 수 있습니다. 팀 폭스가 현재 휴가 중이니까
Socket.IO [Socket.IO Module for Vert.x] I DID IT! YEAH~~ ;) I don’t have enough time to write now, so I’ll just show you some links that you can see all the information(the codes). https://github.com/keesun/mod-socket-io With this module, you can code like this. Please specify a Gist URL or ID. If you
HttpServer [Vert.x] HTTP 서버 만들기 자 이번에는 Vert.x로 아주 간단한 HTTP 서버를 만들어봤습니다. 지금까지는 NetServer를 사용했었는데, 이번에는 HttpServer를 사용합니다. Please specify a Gist URL or ID. 흠.. vert.x 설명을 보면.. sinatra나 express 스타일의 웹 라우팅을 지원한다고 했는데.. 이건 좀 아닌것 같은 생각이 드네요. 이거 말고 다른 방법이 있는것일지도…
Fanout [vert.x] NetServer로 1대다 메시지 전송하기 이전까지 살펴본 Vert.x 예제는 Echo라는 개념으로 메아리처럼 자기가 한 말을 그대로 다시 (자기만) 돌려받는 기능이고, 이번에 살펴볼 예제는 메시지를 하나 받으면 (자신을 포함한) 여러 사용자에게 전달하는 기능입니다. 예제 이름은 영어로는 Fanout이나 One to Many Multiplexing이라고도 하네요. Please specify a Gist URL or ID. 이 예제에서 가장 중요한 클래스는 SharedData라는
NetClient [vert.x] EchoClient 데모 지난번에는 NetServer를 이용해서 EchoServer를 만들고 telnet으로 접속해서 메아리를 확인했었다. 이번에는 NetClient를 이용해서 자바로 EchoClient를 만들었다. Please specify a Gist URL or ID. 서버 코드도 다시 볼까? Please specify a Gist URL or ID. 서버를 다시 띄워보자. 서버를 띄우려면 빌드를 하고, target을 classes가 들어있는 빌드 루트 디렉토리라고 가정하고.. target> vertx
설치와 실행 [vert.x] 설치와 실행 https://github.com/purplefox/vert.x/wiki/Installation-and-running 준비물 현재 리눅스와 Mac OSX에서만 동작한다. 윈도 사용자는 버철박스나 VMWare로 리눅스를 깔고 사용할 수 있다. JDK 1.7.0 이상 현재 Java와 Ruby API 지원 https://github.com/purplefox/vert.x/downloads 여기서 내려받고 압축을 푼 다음에 bin 디렉토리를 PATH에 추가하면 설치
NetServer [vert.x] NetServer 예제 Please specify a Gist URL or ID. Node.js에서 express 쓰는 듯한 기분으로 NetServer라는걸 쓰면 되는데, 2중 익명클래스는 참 난감하긴하다. 코드는 분명히 자바 코드인데, 자바 스크립트 코드처럼 보이네;; 이런 코드 구조가 언어를 막론하고 논블록킹 IO 코딩 스타일이 될지도 모르겠다. 이럴바엔 그냥 그루비로 작성하는게 좋을 것 같다. 자바로는 너무 지져분한듯. 자바
multi reactor pattern [vert.x] 컨커런시 모델 https://github.com/purplefox/vert.x/wiki/Concurrency-model vert.x의 컨커런시 모델은 멀티 리액터 패턴이다. 이 패턴은 Java 1.4에 추가된 NIO로 구현할 수 있다. 그리고 이미 그 기반으로 조금 더 쉽게 코딩할 수 있도록 Netty라는 오픈소스 프로젝트도 있고, vert.x는 netty 위에서 조금 더 최근 기술 동향에 어울리는 프레임워크로