Vert.x

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기
Vert.x
Vert.x Logo.svg
원저자팀 폭스(Tim Fox)
개발자Tim Fox, VMWare, 레드햇, 이클립스 재단
안정화 버전
3.5.1 / 2018년 2월 13일 (19달 전)(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 등의 여러 언어에서 사용가능하다.

각주[편집]

외부 링크[편집]