Vert.x

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기
Vert.x
Vert.x Logo.svg
원저자팀 폭스(Tim Fox)
개발자Tim Fox, VMWare, 레드햇, 이클립스 재단
안정화 버전
3.5.1 / 2018년 2월 13일 (2년 전)(2018-02-13)[1]
저장소 위키데이터에서 편집하기
프로그래밍 언어자바, 자바스크립트, 아파치 그루비, 루비, 스칼라, 코틀린, Ceylon, 파이썬, 클로저
운영 체제크로스 플랫폼
플랫폼자바 가상 머신
종류이벤트 드리븐 네트워킹
라이선스아파치 라이선스 버전 2.0
웹사이트vertx.io

버텍스(Vert.X)는 이벤트 드리븐(영어: event-driven) 방식의 자바 버추얼 머신(영어: Java Virtual Machine) 위에서 동작하는 어플리케이션 프레임워크이다.

자바스크립트의 Node.js, 파이선의 Twisted, 펄의 Perl Objected Environment, C의 libevent, PHP의 reactPHP 나 amphp 그리고 루비의 EventMachine 등과 비슷하다.

예제[편집]

"Hello from Vert.x!"를 서비스하는 웹 서버는 자바로 작성이 가능하다:

import io.vertx.core.AbstractVerticle;

public class Server extends AbstractVerticle {
  public void start() {
    vertx.createHttpServer().requestHandler(req -> {
      req.response()
        .putHeader("content-type", "text/plain")
        .end("Hello from Vert.x!");
    }).listen(8080);
  }
}

자바스크립트로는 다음과 같다:

vertx.createHttpServer()
  .requestHandler(function (req) {
    req.response()
      .putHeader("content-type", "text/plain")
      .end("Hello from Vert.x!");
}).listen(8080);

특징[편집]

  1. Scale: 버텍스는 이벤트 드리븐([2]), 논 블럭킹(non blocking) 방식이다. 이로써 적은 커널 쓰레드를 사용하여 여러 동시성을 확보할수 있다.
  2. Polyglot: Java, JavaScript, Groovy, Ruby, Ceylon, Scala, Kotlin 등의 여러 언어에서 사용가능하다.

각주[편집]

외부 링크[편집]