본문 바로가기

Development/Web & Server

Vert.x 에대해서..

Vert.X란..

- Node.js의 영향을 받은 프로젝트이며 Event-based 프로그래밍 모델을 제공하는 서버 프레임워크이다. 비동기 형태의 API를 제공한다.


Vert.X의 철학

- Polyglot

    • Vert.x는 Groovy, Ruby, Python, JavaScript를 지원 (향후 Scala와 Closure)

- Super Simple Concurrency Model

    • Vert.x는 동일한 스레드에서만 실행됨을 보장해서 더 이상 synchronized나 volatile 같은 동기화를 위한 locking처리에 신경쓰지 않아도 된다. 사용자는 오직 비즈니스 로직 구현에만 집중하면 된다.

- Event Bus제공

    • Vert.x는 여러 서버 프로그램이 서로 원할하게 통신하는 것까지 목표로 두고 있다. 그래서 Event Bus를 제공하며 Point to Point나 Pub/Sub 같은 MQ 기능을 사용할 수 있다.

- Module System & Public Module Repository

    • Vert.x로 만든 서버 애플리케이션은 프로젝트 자체를 모듈화 하여 재사용성을 도모한다.

 

Netty와 Vert.x의 관계

- Vert.x는 Netty를 사용한다. Netty는 Low Level 수준의 I/O를 다룰수 있는 프레임워크이고 Vert.x는 그 보다 하이 레벨 영역을 다룬다.


성능