Vert.x
![]() | |
원저자 | 팀 폭스(Tim Fox) |
---|---|
개발자 | Tim Fox, VMWare, 레드햇, 이클립스 재단 |
안정화 버전 | 4.2.1 / 2021년 11월 3일(2년 전)(2021-11-03)[1] |
미리보기 버전 | 4.2.2-SNAPSHOT / 2021년 11월 3일(2년 전)(2021-11-03)[2] |
저장소 |
|
프로그래밍 언어 | 자바, 자바스크립트, 아파치 그루비, 루비, 스칼라, 코틀린, Ceylon, 파이썬, 클로저 |
운영 체제 | 크로스 플랫폼 |
플랫폼 | 자바 가상 머신 |
종류 | 이벤트 드리븐 네트워킹 |
라이선스 | 아파치 라이선스 버전 2.0 |
상태 | 개발 중 |
웹사이트 | vertx |
버텍스(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);
특징
- Scale: 버텍스는 이벤트 드리븐([3]), 논 블럭킹(non blocking) 방식이다. 이로써 적은 커널 쓰레드를 사용하여 여러 동시성을 확보할 수 있다.
- Polyglot: Java, JavaScript, Groovy, Ruby, Ceylon, Scala, Kotlin 등의 여러 언어에서 사용가능하다.
각주
외부 링크
- http://vertx.io/